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で入力できるようにしたいね。


この記事が気に入ったらサポートをしてみませんか?