1 solutions
-
1
构造题,需要一些玄学的数学灵感三个数字分别是x,y,z,先让一个数字等于1/n, 那么只需要求1/x + 1/y = 1/n即可。
左边通分一下,得到(x + y) / (x * y) = 1/n。
此处设y为k倍的x,(y = k * x), 化简上式得
n*(k+1)x = kx2
n*(k+1) = x*k
然后应用玄学数感观察上式发现左边的k+1,与右边的k是绝对不可能消去的,那么只能是 k = n,那么我们就让k = n, x = k+1(即n+1)于是可以得到三个数字分别为n,n+1,n*(n+1),带回计算一下,符合题意。注意当n = 1时,带回是不符合题意的,因此n = 1时是无解的。
#include<bits/stdc++.h> using namespace std; int n, a, b, c; int main(){ cin>>n; if(n == 1){ cout<<-1<<endl; return 0;} a = n; b = n + 1; c = n * (n + 1); cout<<a<<' '<<b<<' '<<c<<endl; return 0; }
- 1
Information
- ID
- 487
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 10
- Tags
- # Submissions
- 1
- Accepted
- 1
- Uploaded By