一、第一种求法
思路:枚举1-n之间的数,判断n,i的最大公约数是否为1,为1则与n互素
代码实现:
1 #include
2 #include
3 #include
4 #include
5 #include <string>
6 #include
二、第二种求法
采用欧拉函数求解,由欧拉函数的性质可得1-n中与n互素的个数为n*(1-1/pi)*(1-p(i+1))...... (pi为n的素因子)
有了这个公式,我们便只需要判断这个数是否是素数,是否为n的因子,然后进行相乘操作即可。
代码实现:
1 #include
2 #include
3 #include
4 #include
5 #include <string>
6 #include
收获还是挺多的,学了个欧拉函数公式