Happy 2006 POJ - 2773
题目链接:
题目:
如果大公约数(GCD)为1,则两个正整数被认为是相对素数。例如,1,3,5,7,9 ......都是相对于2006年的素数。 现在你的工作很简单:对于给定的整数m,当这些元素按升序排序时,找到相对于m的相对素数的第K个元素。输入 输入包含多个测试用例。 对于每个测试用例,它包含两个整数m(1 <= m <= 1000000),K(1 <= K <= 100000000)。产量 在单行中输出第K个元素。
Sample Input
2006 12006 22006 3Sample Output
135 思路:由欧几里得算法得知:gcd(a,b)=gcd(a+b*t,b),故当k超过m时,后面的数与前面1~m中与m互质的数具有周期性, 即1~m中与m互质的数,加上m就是m~2m与m互质的数,所以只要求出1~m与m互质的数即可
//// Created by hanyu on 2019/8/9.//#include#include #include #include #include #include #include #include