第12回ブルーブリッジカップの3番目のシミュレーションゲーム-相互品質

1.問題の説明:

1から2020まで、2020と互いに素な数、つまり、最大公約数が1である数と2020の数。
回答提出
これは、空欄に結果を記入する質問です。結果を計算して提出するだけです。この質問の結果は整数です。回答を送信するときにこの整数を入力するだけで、余分なコンテンツを入力してもスコアは付けられません。

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)

 

おすすめ

転載: blog.csdn.net/qq_39445165/article/details/115139839