Codeforces Round #384 (Div. 2)

题目链接:Vladik and fractions

Input

Output

Examples

output

input

output

Solution

题意

给定一个正整数 \(n\),求正整数 \(x,y,z\) 满足 \(\frac{2}{n} = \frac{1}{x} + \frac{1}{y} + \frac{1}{z}\)。

其中 \(x \neq y,\ x \neq z,\ y \neq z\)。若无解输出 \(-1\)。

题解

构造

\(\frac{1}{n} - \frac{1}{n + 1} = \frac{1}{n(n+1)}\)

\(\frac{1}{n} = \frac{1}{n + 1} + \frac{1}{n(n+1)}\)

\(\frac{2}{n} = \frac{1}{n + 1} + \frac{1}{n(n+1)} + \frac{1}{n}\)

当 \(n=1\) 时,\(\frac{2}{n}=2\)。而 \((\frac{1}{x}+\frac{1}{y}+\frac{1}{z})_{max} = \frac{1}{1}+\frac{1}{2}+\frac{1}{3} < 2\),所以当 \(n=1\) 时无解。

Code

#include <bits/stdc++.h>
using namespace std; int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
if(n == 1) cout << -1 << endl;
else cout << (n + 1) << " " << (n * (n + 1)) << " " << n << endl;
return 0;
}
05-11 13:37