题目描述
给你一个正整数n,请问有多少个比n小的且与n互质的正整数?
两个整数互质的意思是,这两个整数没有比1大的公约数。
两个整数互质的意思是,这两个整数没有比1大的公约数。
输入描述
输入包含多组测试数据。每组输入是一个正整数n(n<=1000000000)。当n=0时,输入结束。
输出描述
对于每组输入,输出比n小的且与n互质的正整数个数。
输入样例
7
12
0
输出样例
6
4
提示
解析:由于本题中的n有1e8,所以要是直接用for循环的话就会超时 ,所以一定会有技巧在此题中 。一看见互质 我们不难想到离散数学中的一个欧拉函数,
欧拉函数的定义:

该博客介绍了如何利用欧拉函数解决涉及互质关系的计算问题,特别是当数值范围较大导致常规循环方法会超时时。博客内容提到了欧拉函数的定义和计算公式,并给出了AC代码作为解决方案。

2016

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



