C趣味程序百例(14)列出真分?jǐn)?shù)序列

字號:

46.列出真分?jǐn)?shù)序列
     按遞增順序依次列出所有分母為40,分子小于40的最簡分?jǐn)?shù)。
    *問題分析與算法設(shè)計(jì)
     對分子采用窮舉法,利用公約數(shù)的方法,判斷分子與40是否構(gòu)成真分?jǐn)?shù)。
    *程序與程序注釋
    #include
    void main()
    {
     int i,num1,num2,temp;
     printf("The fraction serials with demominator 40 is:\n");
     for(i=1;i<=40;i++) /*窮舉40以內(nèi)的全部分子*/
     {
     num1=40;
     num2=i;
     while(num2!=0) /*采用輾轉(zhuǎn)相除法求出公約數(shù)*/
     {
     temp=num1%num2;
     num1=num2;
     num2=temp;
     }
     if(num1==1) /*若公約數(shù)為1,則為最簡真分?jǐn)?shù)*/
     printf("%d/40 ",i);
     }
    }
    *運(yùn)行結(jié)果
     The fraction serials with demominator 40 is:
     1/40 3/40 7/40 9/40 11/40 13/40 17/40 19/40
     21/40 23/40 27/40 29/40 31/40 33/40 37/40 39/40
    *思考題
     按遞增順序依次列出所有分母小于等于40的最簡真分?jǐn)?shù)