互质

问题描述

今年是 2020 年, 今天是 10 月 18 日。 请问在 1 到 2020 中, 有多少个数与 1018 互质。

答案提交

这是一道结果填空的题, 你只需要算出结果后提交即可。本题的结果为一 个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M


来自: 1.互质 – 蓝桥云课

我的题解

def gcd(j, number):
    """
    计算两个数的最大公约数(GCD)。
    
    参数:
    j -- 第一个整数
    number -- 第二个整数
    
    返回值:
    返回两个数的最大公约数。
    """
    while number != 0:  # 通过循环找到两个数的最大公约数
        j, number = number, j % number  # 交换变量j和number的值,并将j赋值为number除以j的余数
    return j  # 返回最大公约数


if __name__ == '__main__':
    # 初始化变量
    num = 1018  # 输入的数字
    count = 0  # 用于计数与num互质的数的个数
    
    # 遍历1到2020之间的每个数,检查是否与num互质
    for j in range(1, 2021):
        if gcd(j, num) == 1:  # 如果j和num的最大公约数为1,则它们互质
            count += 1  # 递增计数器
    print(count)  # 输出与num互质的数的个数

存档地址:https://www.yuque.com/worthstudy/study/uvyw9k9m80v06ben?singleDoc# 《互质》

© 版权声明
THE END
喜欢就点赞支持一下吧,如果觉得不错或日后有所需要,可以收藏文章和关注作者哦。
点赞0
评论 抢沙发

请登录后发表评论

    暂无评论内容