#20644: 求救python 66%


089487 (089487)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 82069
來源 : [220.130.10.185]
最後登入時間 :
2024-04-01 11:16:18
e895. 好多正方形 -- 林口高中校內選訓 | From: [114.136.48.39] | 發表日期 : 2020-02-15 20:58

#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
來源 : [140.134.208.101]
最後登入時間 :
2023-10-12 19:14:28
e895. 好多正方形 -- 林口高中校內選訓 | From: [49.219.131.169] | 發表日期 : 2020-04-29 12: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 的做法嗎?

```
from sys import *

 

for i in stdin:

        i = int(i.strip())

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

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

 
ZeroJudge Forum