题目大意
给出 \(n\),求一组 \(x,y,z\) 满足 \(\frac 1x + \frac 1y + \frac 1z = \frac 2n\)
若不存在合法的解,输出 \(-1\)
其中 \(n \le 10^4\)
要求答案中的 \(x,y,z \le 2*10^9\)
思路
让人无语的小学数学题······
都学过裂项吧!我们一起来构造!!
\(\frac 1{x\times(x+1)} = \frac 1x - \frac 1{x+1}\)
把右边的 \(\frac 1{x+1}\) 移到左边
然后你把 \(x\) 看作 \(n\)
然后左边补个 \(\frac 1n\) 凑到 \(\frac 2n\)
然后就成了 \(\frac 1n = \frac 1n + \frac 1{n+1} + \frac 1{n\times(n+1)}\)
然后 \(x,y,z\) 就显然了
然后······
就没有然后了······
代码
#include<cstdio>
using namespace std;
int n;
int main()
{
scanf("%d" , &n);
if (n == 1)
{
printf("-1");
return 0;
}
printf("%d %d %d" , n , n + 1 , n * (n + 1));
}