Vladik and fractions

题目大意

给出 \(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));
}

猜你喜欢

转载自www.cnblogs.com/leiyuanze/p/12346738.html