题目链接:https://ac.nowcoder.com/acm/contest/877/C
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
爱的魔力转圈圈,想你想到心花怒放黑夜白天,可是我害怕爱情只是一瞬间,转眼会不见,我要慢慢冒险。经过了无数的思想斗争,他要做出这个决定,和喜欢的女孩子表白,但女孩只是留给他一个排列,排列的定义是一个由组成的序列每个数出现并且只出现1次。
现在他需要把这个数通过一定顺序首尾连接形成一个圆环,使得相邻元素互质的对数尽可能多,请输出最大的对数。两个数互质的定义是这两个数的GCD(最大公约数)为1。比如6和4的最大公约数为2,不互质。4和3的最大公约数为1,互质。
输入描述
第一行是一个数字,表示共有T组测试数据.
接下来行,每行一个数字.
输出描述
一行一个整数表示答案
输入
2
3
5
输出
3
5
解题思路
题意:在n的所有全排列数组中相邻互质对数最多有几对。
题解:互质环,直接构造一个从1排列到n的环即可,因为相邻两个数互质,1与任何数互质,所以输入一个n,输出一个n。
#include <bits/stdc++.h>
using namespace std;
int main() {
int t, n;
scanf("%d", &t);
while (t--) {
scanf("%d", &n);
printf("%d\n", n);
}
return 0;
}