素数探索ループ

投稿者: | 9月 3, 2022
for n in range(2, 10):
    for x in range(2, n):          #nよりも小さい数で割るという
        if n % x == 0:
            print(n, 'equals', x, '*', n//x)
            break                  #breakで抜けるため、以下の式は実行されずにループの先頭に戻る
    else:
        print(n, 'is a primary number')
2 is a primary number          #nに2が入った時点で、range(2, 2) = noneを返すため、elseで素数と判断されている。
3 is a primary number
4 equals 2 * 2
5 is a primary number
6 equals 2 * 3
7 is a primary number
8 equals 2 * 4
9 equals 3 * 3
10 equals 2 * 5
11 is a primary number