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

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

时间限制: 1 Sec   内存限制: 128 MB
提交: 5   解决: 5
[ 提交][ 状态][ 讨论版]

题目描述

按递增顺序依次列出所有分母为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是否构成真分数。


解题思路

       从1--39判断是否跟40互质,也就是判断1--39中跟40的最大公约数为1的数。

       一开始错误的思路是用40/i看有没有余数,这种方法是错误的。。

java代码

package 列出最简真分数序列;

public class Main
{
	public static void main(String[] args)
	{
		for(int i=1;i<40;i++)
			if(gcd(i,40)==1)
				System.out.print(i+"/"+40+',');
	}
	public static int gcd(int a,int b)
	{
		return b==0?a:gcd(b,a%b);
	}
}


你可能感兴趣的:(1501101221-hpu-1015: 【C语言训练】列出最简真分数序列*)