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);
}
}
版权声明:本文为wangluoershixiong原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。