#20644: 求救python 66%


089487 (089487)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 82069
來源 : [140.112.16.132]
最後登入時間 :
2025-04-29 20:27:54

#2: 34% MLE (398.3MB)

記憶體超限
程式碼如下
l=[1,2]
l2
#print(l)
for i in range(2,10000):
#print(i)
if i%2==1:
l.append(l[1]*l[int((i-1)/2)]*l[int((i-1)/2)]%10007)
else:
l.append(l[int(i/2)]*l[int(i/2)]%10007)
while True:
try:
a=int(input())

print(l[int(a-1)])
except:
break
可以請教python 的做法嗎?
#21199: Re:求救python 66%


learner_MuMu (MuMu)

學校 : 國立桃園高級中學
編號 : 102725
來源 : [219.68.145.97]
最後登入時間 :
2025-08-03 23:35:36

#2: 34% MLE (398.3MB)

記憶體超限
程式碼如下
l=[1,2]
l2
#print(l)
for i in range(2,10000):
#print(i)
if i%2==1:
l.append(l[1]*l[int((i-1)/2)]*l[int((i-1)/2)]%10007)
else:
l.append(l[int(i/2)]*l[int(i/2)]%10007)
while True:
try:
a=int(input())

print(l[int(a-1)])
except:
break
可以請教python 的做法嗎?

```
from sys import *

 

for i in stdin:

        i = int(i.strip())

        print(str(2 ** (i - 1) % 10007))

```
這樣就 66 % 了
應該可以用 費馬 來做優化