pythonでのモジュロ演算プログラム
前回からの続き
サマーウォーズに影響され、さらにQuizKnockの暗号解いてみる動画(https://youtu.be/kvC55N4k9ng)に影響され・・・。
まずは動画の第2問で、最小の自然数mを求めるところ。
さすがに手計算ではきついので、どんな計算しているのかプログラムを組むことでイメージする。
m = 1
print("start")
while True :
amari = 2520 * m % 79
if amari == 78 :
print (m)
break
m = m + 1
m=10になりました。動画と同じなので正解。
dは代入するだけなので飛ばして、次は大文字のM。
n = 904
s = 1
#904の319乗をもとめる
for p in range(1, 319+1):
s = s * n
#2627で割ったあまりを求める
result = s % 2627
print(result)
電卓の使い方を良く知らないのでやはりコードで。
ここもM=1526になったことを確認。
ホワイトボードでどうやって計算しているんだ?時間あるときに考えよう。
上の二つのコードは数値をそのまま直書きなので、inputで入力できるようにしたいね。
この記事が気に入ったらサポートをしてみませんか?