import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class Main {
static int n;
static HashSet<Double> hashSet = new HashSet<Double>();
static TreeMap<Double,String> treeMap = new TreeMap<>((o1,o2)->o2.compareTo(o1));
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
n = scanner.nextInt();
List<String> list = new ArrayList<>();
for(int i = 1;i<=n;i++) {
for(int j = 0;j<=i;j++) {
double i1 = i;
double j1 = j;
double res = i1/j1;
if(check(j, i)&&!hashSet.contains(res)) {
treeMap.put(res,j+"/"+i);
hashSet.add(res);
}
}
}
for(Map.Entry<Double,String> entry:treeMap.entrySet()) {
System.out.println(entry.getValue());
}
}
public static boolean check(int a,int b) {
for(int i = 2;i<=a;i++) {
if(a%i==0&&b%i==0) {
return false;
}
}
return true;
}
}
1)数据量比较小,直接 for 循环即可,编写 check 函数检查是否是最简分数
2)用 set 去重重复的结果
3)TreeMap 进行排序,然后输出 Value 即可