今天在网上看到一个题目,使用java列出最简真分数序列,具体是什么意思呢,比如分母是10,那么他的最简真分数序列为1/10,3/10,7/10,9/10,简单扩展一下我们可以求任意分母的最简单真分数序列;题目要求如下

列出最简真分数序列 1/10,3/10,7/10,9/10_java

代码如下:


package com.sxt.jframe;

import java.util.Scanner;

public class Test {
public static void main(String[] args) {
System.out.println("请输入任意的整数作为分母");
int fenMu = new Scanner(System.in).nextInt();
printFenShu(fenMu);
}
/**
* 获取对应的分数
* @param fenMu
*/
private static void printFenShu(int fenMu) {
StringBuilder sbl = new StringBuilder();
// 当分母与分子共同的约数只有1时输出
for (int i = 1; i < fenMu; i++) {
if (getYueShu(fenMu, i) == 1) {
sbl.append("".equals(sbl.toString())?i + "/" + fenMu:","+i + "/" + fenMu);
}
}
System.out.println(sbl.toString());
}
// 获取约数
private static int getYueShu(int fenMu, int num) {
while (num % fenMu != 0) {
int temp = 0;
temp = num % fenMu;
num = fenMu;
fenMu = temp;
}
return fenMu;
}
}

控制台输出效果:

列出最简真分数序列 1/10,3/10,7/10,9/10_算法_02