Vladik and Chloe decided to determine who of them is better at math. Vladik claimed that for any positive integer \(n\) he can represent fraction \(\frac {2}{n}\) as a sum of three distinct positive fractions in form \(\frac {1}{m}\). Help Vladik with that, i.e for a given \(n\) find three distinct positive integers \(x\) , \(y\) and \(z\) such that \(\frac {2}{n} = \frac {1}{x} + \frac{1}{y} + \frac {1}{z}\). Because Chloe can‘t check Vladik‘s answer if the numbers are large, he asks you to print numbers not exceeding \(10^{9}\) . If there is no such answer, print -1.
The single line contains single integer \(n\) ( \(1<=n<=10^{4}\) ).
If the answer exists, print \(3\) distinct numbers \(x\) , \(y\) and \(z\) ( \(1<=x,y,z<=10^{9}\) , \(x≠y\) , \(x≠z\) , \(y≠z\) ). Otherwise print -1. If there are multiple answers, print any of them.
3
2 7 42
7
7 8 56
对于\(100\)%的数据满足\(n \leq 10^4\) 要求答案中\(x,y,z \leq 2* 10^{9}\)
先贴一下洛谷的题目翻译
题目描述 请找出一组合法的解使得\(\frac {1}{x} + \frac{1}{y} + \frac {1}{z} = \frac {2}{n}\)成立,其中\(x,y,z\)为正整数并且互不相同
输入 一个整数\(n\)
输出 一组合法的解\(x, y ,z\)用空格隔开,若不存在合法的解,输出\(-1\)
数据范围 对于\(100\)%的数据满足\(n \leq 10^4\),要求答案中\(x,y,z \leq 2* 10^{9}\)
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
if(n==1) puts("-1");
else printf("%d %d %d\n",n,n+1,n*n+n);
return 0;
}
原文:https://www.cnblogs.com/hihocoder/p/12568576.html