题目描述
现在对于任意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=b;
b=r;
}
return a;
}
int main(){
Node *arr[MAX];//序列的存储结构
Node *temp,*last_list_no

该博客讨论了如何生成并输出一组特定的递增序列,这些序列包含满足特定条件的分数。序列由不可约的分数组成,0 < a < b ≤ n 并且 gcd(a,b) = 1。博客提供了样例输入和输出,以及序列前几项的示例,如F2, F3, F4和F5,并指出测试数据的限制为2 ≤ n ≤ 100。"
120306764,11363655,Cloudflare抵御1720万rps DDoS攻击:最大规模防御记录,"['网络安全', 'DDoS防御', '僵尸网络', 'Cloudflare服务', '物联网安全']
最低0.47元/天 解锁文章
290

被折叠的 条评论
为什么被折叠?



