[CF743C] Vladik and fractions
Description
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.
Input
The single line contains single integer \(n\) ( \(1<=n<=10^{4}\) ).
Output
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.
Sample Input1
3
Sample Output1
2 7 42
Sample Input2
7
Sample Output2
7 8 56
Hint
对于\(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}\)
看到\(\frac {2}{n}\)很容易猜想\(x,y\)或者\(z\)中有一个等于\(n\),那么我们先设\(x=n\),则有\(\frac{1}{y} + \frac {1}{z} = \frac {1}{n}\),由样例二我们猜想,\(y=n+1\),\(z=n\times(n+1)\),正好有公式\(\frac{1}{n+1} + \frac {1}{n\times(n+1)} = \frac {1}{n}\),所以我们可以得出一组可行解\(x=n\),\(y=n+1\),\(z=n\times(n+1)\)
很显然,这题有多种解,将我们的解代入样例\(1\),可以发现这是可行的
但是当\(n=1\)时,无解
下面给出两种证法
-
当\(n=1\)时,\(n+1=2\),\(n\times(n+1)=2\),与题目中的\(x≠y\) , \(x≠z\) , \(y≠z\)矛盾
-
因为\(x≠y\) , \(x≠z\) , \(y≠z\),且\(x,y,z\)都是整数,所以\(x,y,z\)的最小值分别为\(1,2,3\),此时\(\frac {1}{x} + \frac{1}{y} + \frac {1}{z} = 1 = \frac {2}{2}\),很显然\(n≥2\)时才有解
\(My~Code\)
#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;
}
本文作者:OItby @ https://www.cnblogs.com/hihocoder/
未经允许,请勿转载。