1. ホーム
  2. python

[解決済み] ある数字が他の数字で割り切れるかどうかを調べるには(Python)?

2022-04-28 13:01:04

質問

1から1000までの各数値が3の倍数か5の倍数かをテストする必要があります。もし結果が整数であれば、それは3の倍数であり、5の倍数でも同じである。

数値が整数であるかどうかを調べるにはどうしたらよいですか?

これが私の現在のコードです。

n = 0
s = 0

while (n < 1001):
    x = n/3
    if isinstance(x, (int, long)):
        print 'Multiple of 3!'
        s = s + n
    if False:
        y = n/5
        if isinstance(y, (int, long)):
            s = s + n

    print 'Number: '
    print n
    print 'Sum:'
    print s
    n = n + 1

解決方法は?

これは、モジュラス演算子を使って行います。 %

n % k == 0

は、以下の場合にのみ真と評価されます。 n の正確な倍数である。 k . 初歩的な数学では、これは割り算の余りとして知られています。

現在の方法では、割り算を行い、その結果は次のどちらかになります。

  • 整数除算を使用する場合は常に整数、または
  • 浮動小数点演算を使用する場合は、常に浮動小数点となります。

割り切れるかどうかのテストのやり方が間違ってるんだよ。