题解:P11042 [蓝桥杯 2024 省 Java B] 类斐波那契循环数
__owowow__ · · 题解
P11042 类斐波那契循环数题解
题目大意
对于一个有
数列
如果这个数
题目思路
直接暴力搜索 pd(i) 来判断
接下来详细说说 pd(i) 的写法。
首先定义数组
对于后面的
判断代码:
def pd(x):
s=str(x)
n=len(s)
a=[]
for i in range(n):
a.append(int(s[i]))
b=a
while 1==1:
t=0
for i in range(len(b)-n,len(b)):
t+=b[i]
if t>10000000 :
return 0
if t==x:
return 1
b.append(t)
正确代码
def pd(x):
s=str(x)
n=len(s)
a=[]
for i in range(n):
a.append(int(s[i]))
b=a
while 1==1:
t=0
for i in range(len(b)-n,len(b)):
t+=b[i]
if t>10000000 :
return 0
if t==x:
return 1
b.append(t)
for i in range(10000000, 0, -1):
if pd(i) == 1:
print(i)
break
结果输出
AC 代码
print(7913837)