【HPU】[1015]【C语言训练】列出最简真分数序列

1015: 【C语言训练】列出最简真分数序列*

时间限制: 1 Sec  内存限制: 128 MB

题目描述

按递增顺序依次列出所有分母为40,分子小于40的最简分数。

输入

输出

分数之间用逗号分开(含最末逗号)

样例输入


样例输出


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是否构成真分数。

求最大公约数的算法

int gcd(int a,int b) {
    if(b==0)
        return a;
    else
        return gcd(b,a%b);
}

当分子和分母的最大公约数是1的时候
此分数为最简分数
按照要求输出即可

#include<stdio.h>
int gcd(int a,int b) {
    if(b==0)
        return a;
    else
        return gcd(b,a%b);
}
int main() {
    for(int i=1; i<40; i++) {
        if(gcd(40,i)==1)
            printf("%d/40,",i);
    }
    return 0;
}

题目地址:【HPU】[1015]【C语言训练】列出最简真分数序列

posted @ 2016-03-06 14:42  BoilTask  阅读(36)  评论(0编辑  收藏  举报