Pythonのお勉強 Part31at TECH
Pythonのお勉強 Part31 - 暇つぶし2ch317:デフォルトの名無しさん
09/01/20 23:44:56
pow(n, pow(n, n), 10)

318:デフォルトの名無しさん
09/01/20 23:49:54
>>> pow(3,pow(3,3),10)
7
>>> pow(7,pow(7,7),10)
3
>>> pow(13,pow(13,13),10)
3L
>>> pow(17,pow(17,17),10)
7L

あってる?

319:デフォルトの名無しさん
09/01/21 00:35:03
あってるけど、
アルゴリズム的には n が大きいときの pow(n, n) が課題。



320:デフォルトの名無しさん
09/01/21 01:37:05
遅いって言っても、1000ぐらいまでなら一瞬で出るぞ

>>> i=1
>>> while 1:print i,pow(i,i**i,10);i+=1
...
1 1
2 6
3 7
4 6
5 5
6 6
7 3
8 6
9 9
10 0
11 1
12 6
13 3
14 6
...
...
...
1197 7
1198 6
1199 9
1200 0
1201 1

321:317
09/01/21 01:57:21
nのべき乗の1の位が、ある周期で循環することを利用して指数を小さくしてみた。

# coding: utf8

def cycle(n):
    i = n*n % 10
    lst = [i]
    while n != i:
        i = i*n % 10
        lst.append(i)
    return lst

def main():
    cycles = [cycle(i) for i in xrange(10)]
    clen = [len(item) for item in cycles]

    for i in range(10):
        print i, cycles[i]
    print ""

    for n in xrange(1, 1000):
        cl = clen[n%10]
        nn = pow(n, cycles[n%10][n%cl])
        nnn1 = pow(n, nn, 10)
        print n, nnn1
        

if __name__ == '__main__':
    main()


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
URLリンク(www.kohgakusha.co.jp)


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。


326:デフォルトの名無しさん
09/01/21 08:11:54
クソ本が改訂してクソでなくなるのかな?

327:デフォルトの名無しさん
09/01/21 09:36:24
まあ評価は見てからですかねー


328:デフォルトの名無しさん
09/01/21 10:30:01
はじぱい 第2版 (2004/11) \5,040
URLリンク(www.amazon.co.jp)
はじぱい原著 3rd Edition (2008/07/16) $26.39
URLリンク(www.amazon.com)

恥ぱい 初犯 (2007/11) \1,995
URLリンク(www.amazon.co.jp)
恥ぱいネットワーク 初版 (2008/06) \1,995
URLリンク(www.amazon.co.jp)
恥ぱい3 初版 (2009/01) \1,995
URLリンク(www.kohgakusha.co.jp)
恥ぱいが3.0用になったんですね


329:デフォルトの名無しさん
09/01/21 11:10:29
恥の上塗りというわけですね。

330:デフォルトの名無しさん
09/01/21 11:20:55
俺もウェブの無料チュートリヤル翻訳して金稼ぎたい

331:デフォルトの名無しさん
09/01/21 11:40:37
ライブラリレファレンスの和訳更新・改良を
ガンガンやってくれるならお布施くらいはするでよ?

332: ◆UNKOVIP9RM
09/01/21 11:53:01
>>312
惚れた

惚れた

惚れた


できれば結婚してくれ

333: ◆UNKOVIP9RM
09/01/21 11:54:09
>>328

買う 買うー

334:デフォルトの名無しさん
09/01/21 11:58:54
周期が4の公約数になるのを利用するとこれでもok?
pow(n % 10, (n & 3) or 4, 10)

335: ◆UNKOVIP9RM
09/01/21 11:59:03
>>> import >>329
>>> print (329.star())

"星3つ"

336:デフォルトの名無しさん
09/01/21 12:08:27
>>328
はじぱいの癖に5040円って翻訳書のはじ

337: ◆UNKOVIP9RM
09/01/21 12:18:59
>>336
円安だったんだよ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch