【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;
}