Pythonのお勉強 Part31at TECHPythonのお勉強 Part31 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト322:デフォルトの名無しさん 09/01/21 02:25:02 ほぼ同じことだけど、自分もやってみた、これだと、googol(=10**100)ぐらいまでは一瞬 def f(n): c = cycle(n,10) return pow(n, pow(n, n, c) or c, 10) def cycle(n, modulo): s=set() ; x = n % modulo while x not in s: s.add(x) ; x = x * n % modulo return len(s) for i in range(7): print i, f(10**10**i+i) $ python 303.py 0 0 1 1 2 6 3 7 4 6 5 5 6 6 323:デフォルトの名無しさん 09/01/21 02:28:11 http://www.kohgakusha.co.jp/books/detail/978-4-7775-1419-9 324:デフォルトの名無しさん 09/01/21 05:39:19 >>321 そこまでたどり着けば実はpow使わなくても答え出てるんだけどね 325:デフォルトの名無しさん 09/01/21 05:45:02 13=10+3だから、13^nの1の位は3^nの1の位と同じで4個周期。 13=12+1だから13^13を4で割った余りは1。 13^(13^13)の1の位は3^1の1の位と同じなので3。 17=10+7だから、17^nの1の位は7^nの1の位と同じで4個周期。 17=16+1だから17^17を4で割った余りは1。 17^(17^17)の1の位は7^1の1の位と同じなので7。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch