打印本文 打印本文  关闭窗口 关闭窗口  
C趣味程序百例(14)列出真分数序列
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 13:59:25  文章录入:杜斌  责任编辑:杜斌

46.列出真分数序列
    按递增顺序依次列出所有分母为40,分子小于40的最简分数。
*问题分析与算法设计
    对分子采用穷举法,利用最大公约数的方法,判断分子与40是否构成真分数。
*程序与程序注释
#include<stdio.h>
void main()
{
    int i,num1,num2,temp;
    printf("The fraction serials with demominator 40 is:\n");
    for(i=1;i<=40;i++)                     /*穷举40以内的全部分子*/
    {
        num1=40;
        num2=i;
        while(num2!=0)              /*采用辗转相除法求出最大公约数*/
        {
            temp=num1%num2;
            num1=num2;
            num2=temp;
        }
        if(num1==1)           /*若最大公约数为1,则为最简真分数*/
            printf("%d/40  ",i);
        
    }
}
*运行结果
    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的最简真分数
打印本文 打印本文  关闭窗口 关闭窗口