1. 问题描述:
请问在1到2020中,有多少个数与2020互质,即有多少个数与2020的最大公约数为1。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
2. 思路分析:
分析题目可以知道我们可以在1~2019范围进行遍历,计算与2020的最大公约数即可,如果发现最大公约数为1那么就是互质的,计数加1即可。本质是求解最大公约数
3. 代码如下:
# 求解最大公约数
def gcd(a: int, b: int):
while b != 0:
t = b
b = a % b
a = t
return a
if __name__ == '__main__':
count = 0
for i in range(1, 2020):
if gcd(2020, i) == 1:
count += 1
# print(i)
print(count)