#CYF0056. 找一个最大的 y
找一个最大的 y
题目背景
最大公约数:如果 ,而 ,现有 为正整数,设 ,则 叫做 的公约数,公约数会有很多,其中最大的叫做最大公约数,最大公约数是其他所有公约数的倍数,记做 ,如果想要求 和 的最大公约数,可以记做 。
题目描述
给定一个 ,请你找出一个 ,使得 最大。这个 可能有多个,请找出最大的那一个。
输入格式
输入多行。
第一行输入一个正整数 ,代表有 组测试数据。
接下来 行,每行输入一个正整数 。
输出格式
输出多行。
对于每一组测试数据,输出满足题意的最大的 。
样例 #1
样例输入 #1
7
10
7
21
100
2
1000
6
样例输出 #1
9
6
20
99
1
999
5
提示
样例解释】:
- 对于最后一组样例,有以下情况:
$y = 1(gcd(6, 1) + 1 = 2), \\ y = 2(gcd(6, 2) + 2 = 4),\\ y = 3(gcd(6, 3) + 3 = 6),\\ y = 4(gcd(6, 4) + 4 = 6),\\ y = 5(gcd(6, 5) + 5 = 6)$
- 其中 为
3 4 5
的时候 最大,其中最大的 为5
所以输出 。
数据范围】:
测试点编号 | ||
---|---|---|
01 ~ 10 |
||
11 ~ 15 |
||
16 ~ 20 |
对于 的数据,保证 。