-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfibonacci addition.py
More file actions
60 lines (51 loc) · 1008 Bytes
/
fibonacci addition.py
File metadata and controls
60 lines (51 loc) · 1008 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
l=input()
a=input()
b=input()
l=l.split()
a=a.split()
b=b.split()
for i in range(0,len(a)):
a[i]=int(a[i])
for i in range(0,len(b)):
b[i]=int(b[i])
n=l[0]
q=l[1]
MOD=l[2]
n=int(n)
q=int(q)
MOD=int(MOD)
def fib(a):
if a==1 or a==2:
return 1
else:
p=fib(a-1)+fib(a-2)
return p
def fib_add(x,y):
c=1
for i in range(x[0],x[1]+1):
y[i-1]=y[i-1]+fib(c)
c=c+1
return y
def mod(n,mod):
while n>=mod:
n=n-mod
return n
def mod_l(l,x):
for i in range(0,len(l)):
l[i]=mod(l[i],x)
return l
while True:
z=input()
z=z.split()
if z==[]:
break
if z[0]=="A":
fib_add([int(z[1]),int(z[2])],a)
a=mod_l(a,MOD)
else:
fib_add([int(z[1]),int(z[2])],b)
b=mod_l(b,MOD)
if a==b:
print("YES")
else:
print("NO")