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
円安だったんだよ