题目描述
现在对于任意n ≥ 2有一组不可约的递增序列包含一系列a/b满足0 < a < b ≤ n并且 gcd(a,b) = 1。前几个序列如下所示。
F2 = {1/2}
F3 = {1/3, 1/2, 2/3}
F4 = {1/4, 1/3, 1/2, 2/3, 3/4}
F5 = {1/5, 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5}
现在你的任务是对于给定的n输出这个序列。
输入描述
输入包含多组测试数据,第一行有一个数表示测试数据的数目。每组测试数据有一行包含一个正整数n。
输出描述
对于每组测试数据,输出一行包含对应的序列。数与数之间用’,'分开,并且输出不含任何空格,具体见样例。限制2 ≤ n ≤ 100。
样例输入
4
2
3
4
5
样例输出
1/2
1/3,1/2,2/3
1/4,1/3,1/2,2/3,3/4
1/5,1/4,1/3,2/5,1/2,3/5,2/3,3/4,4/5
示例代码:
#include<iostream>
#include<stdlib.h>
#define MAX 110
using namespace std;
//分数的存储结构
struct Node{
int up;//分子
int down;//分母
Node* next;
};
//辗转相除法求最大公约数a
//如果最大公约数为1,则a,b说明不可约
int gcd(int a,int b) {
int r;
while(b>0) {
r=a%b;
a&#