記憶體超限
程式碼如下
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 的做法嗎?
#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 % 了
應該可以用 費馬 來做優化