C趣味編程百例(13)分?jǐn)?shù)之和

字號(hào):

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é)果*/
     }
    }