44.分?jǐn)?shù)之和
求這樣的四個(gè)自然數(shù)p,q,r,s(p<=q<=r<=s),使得以下等式成立:
*問(wèn)題分析與算法設(shè)計(jì)
若規(guī)定p<=q<=r<=s,將原式通分、化簡(jiǎn)并整理后得到:
2<=p<5 p<=q<7 q 采用最簡(jiǎn)單的窮舉方法可以很方便的求解。
程序與程序注釋:
#include
void main()
{
int p,q,r,s,count=0;
printf("The 4 fractions which sum is equal 1 are:\n");
for(p=2;p<5;p++) /*窮舉分母*/
for(q=p;q<7;q++)
for(r=q;r<13;r++)
if(p*q*r-q*r-p*r-p*q!=0)
{
s=(p*q*r)/(p*q*r-q*r-p*r-p*q); /*求出s的值*/
if(!((p*q*r)%(p*q*r-q*r-p*r-p*q))&&s>=r)
printf("[%2d] 1/%d+1/%d+1/%d+1/%d=1\n",++count,p,q,r,s);
/*輸出結(jié)果*/
}
}
求這樣的四個(gè)自然數(shù)p,q,r,s(p<=q<=r<=s),使得以下等式成立:
*問(wèn)題分析與算法設(shè)計(jì)
若規(guī)定p<=q<=r<=s,將原式通分、化簡(jiǎn)并整理后得到:
2<=p<5 p<=q<7 q
程序與程序注釋:
#include
void main()
{
int p,q,r,s,count=0;
printf("The 4 fractions which sum is equal 1 are:\n");
for(p=2;p<5;p++) /*窮舉分母*/
for(q=p;q<7;q++)
for(r=q;r<13;r++)
if(p*q*r-q*r-p*r-p*q!=0)
{
s=(p*q*r)/(p*q*r-q*r-p*r-p*q); /*求出s的值*/
if(!((p*q*r)%(p*q*r-q*r-p*r-p*q))&&s>=r)
printf("[%2d] 1/%d+1/%d+1/%d+1/%d=1\n",++count,p,q,r,s);
/*輸出結(jié)果*/
}
}

