結果
問題 | No.64 XORフィボナッチ数列 |
ユーザー |
![]() |
提出日時 | 2017-08-09 08:53:53 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 34 ms / 5,000 ms |
コード長 | 1,600 bytes |
コンパイル時間 | 78 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 11,008 KB |
最終ジャッジ日時 | 2024-10-12 02:30:36 |
合計ジャッジ時間 | 1,151 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 11 |
ソースコード
#r code goes here#xorfimport mathdef tw(n):t=1k=1while t<=n//2:t*=2k+=1# print (k)tt=[]while n>0:q=n//t# print (n)tt.append(q)# print (tt)q*=tt//=2n-=q# print (n)k-=1# print (k)while k>0:tt.append(0)# print (tt)k-=1return ttdef twe(li):en=0t1=1i=len(li)-1while i>=0:en+=t1*li[i]t1*=2i-=1return endef xorf (l0,l1,N):lel0=len(l0)# lel1=len(l1)# if lel0>lel1:# lll=lel0# lls=lel1# else:# lll=lel1# lls=lel0# print(l1)l2=[0]*len(l0)R=N%3for i in range (lel0):a=l0[lel0-i-1]# print("a")b=l1[lel0-i-1]if a==0 and b==0:c=0elif a==0 and b==1:if R==0:c=0else:c=1elif a==1 and b==0:if R==1:c=0else:c=1else:if R==2:c=0else:c=1l2[lel0-i-1]=creturn l2F0,F1,N=(int(i) for i in input().split())#print (F0)if N==0:print (F0)# print(int(F0))elif N==1:print(F1)else:F0=tw(F0)F1=tw(F1)# print(F0)# print(F1)Di=len(F0)-len(F1)if Di>0:Dk=[0]*DiF1=Dk+F1elif Di<0:Di*=-1Dk=[0]*DiF0=Dk+F0# print(F0)F2=xorf(F0,F1,N)# print(F2)print(twe(F2))