題目:麗山經典50題-25


將真分數分解為分子為1之分數和。

例如:17/21=1/2 + 1/4 + 1/17 + 1/1428

提示: a / b  (a:分子,b:分母)
1.通分: 17/21 - 1/2 = (17*2-21*1)/( 21*2 )
a/b - 1/ i = (a*i-b)/(b*i)
  有三種情況 相同、大於、小於(不用考慮,直接省略)
相同:表示<我已經分解完畢>,列印結果

大於:可以減去 1/ i,分子=(a*i-b) 分母=(b*i)

小於:不可以相減。



#include<stdio.h>

#include<stdlib.h>

main(){

     int a,b,m,n,i=2,j=0;

     printf("請輸入分子=");scanf("%i",&a);

     printf("請輸入分母=");scanf("%i",&b);     

     m=a;n=b;printf("%i/%i=",a,b);

     while(1)

     {

          if(a*i==b) {表示<我已經分解完畢>,列印結果break;}

          if(a*i>b) {

                    可以減去 1/ i,分子=(a*i-b) 分母=(b*i)

          }

          i++;

     }

     system("PAUSE");

}