题目描述
求这样的四个自然数p,q,r,s(p<=q<=r<=s),使得以下等式成立:1/p+1/q+1/r+1/s=1,请输出所有满足条件的不重复的解。
输入
无
输出
分别输出p q r s,之间用一个空格符分开。按照p升序输出。p相同时,按照q升序,q相同时,按照r升序。r相同时按照s升序输出。
代码如下
#include <iostream>
using namespace std;
int main()
{
int p, q, r, s;
for (p = 2; p <= 10; p++)
{
for (q = p; q <= 10; q++)
{
for (r = q; r <= 20; r++)
{
for (s = r; s <= 50; s++)
{
if (1.0 / p + 1.0 / q + 1.0 / r + 1.0 / s <= 1 && 1.0 / p + 1.0 / q + 1.0 / r + 1.0 / s > 0.999999) // 判断浮点数是否为1
{
cout << p << " " << q << " " << r << " " << s << endl;
}
}
}
}
}
return 0;
}