3.30 每日一题题解
Vladik and fractions
涉及知识点:
- 数学/构造
solution:
- 本题解法不唯一,这里只给出一种比较简单的构造方法
- 先考虑不可能的情况,n = 1,无解,因为他们能组成的最大值 = \(\frac{1}{1}+\)\(\frac{1}{2}+\)\(\frac{1}{3}\),明显小于2
- 接下来考虑构造,首先设x = n
- 则有\(\frac{1}{y}+\)\(\frac{1}{z}\)\(=\frac{1}{n}\)
- 然后根据\(\frac{1}{n+1}+\frac{1}{n \times(n+1)}=\frac{1}{n}\)
- 我们可以令y = n + 1, z = n×(n + 1),这样我们就构造出来了正确的结果
std:
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
int n;
cin>>n;
if(n == 1){
cout<<"-1"<<endl;
return 0;
}
cout<<n<<" "<<n+1<<" "<<n*(n+1)<<endl;
return 0;
}