20210616 TIL


エラトステネスのふるい


アルゴリズム問題でよく発生する素数を迅速に解く方法.
1からnまでの数字配列からループを開始し、選択した数字の倍数を配列から削除するように実現する.
一般に、小数を1つ求めると、2からnまでのループ文から始まり、残りの演算を1つずつ試みるため、O(N)が必要となる.
エラトネスの体には二重の複文があるが、スピードは速い.

(Gif出典:ウィキペディア)

その他


小数点以下の文字数をゼロの値で出力する場合は、O(Nlog(logN))ではなくフォーマット文字round()またはformat()を使用します.
num = 40
print(f'소수점이하 3자리: {num:.3f}')
# 40.000