defsolve(n):
tmp =2if tmp == n:returnTruewhile n > tmp:
k = n % tmp
if k==0:returnFalseelse:
tmp +=1returnTrueif __name__ =='__main__':
count =0for i inrange(1,100000):if solve(i)and'5'instr(i):
count +=1print(count)
B. 结果填空:爬楼梯
'''
蒜头要爬楼梯。楼梯一共有 10 层台阶。因为腿长的限制,每次最多能上 4 层台阶。但是第 5,7层楼梯坏掉了不能踩。求上楼梯的方案数
https://nanti.jisuanke.com/t/43116
'''
ans =[0]*11# 定义存放数据的列表
ans[0]=1# 初始化for i inrange(1,11):if i ==5or i ==7:continueif i -1>=0:
ans[i]+= ans[i-1]if i -2>=0:
ans[i]+= ans[i-2]if i -3>=0:
ans[i]+= ans[i-3]if i -4>=0:
ans[i]+= ans[i-4]print(ans)
C. 结果填空:七巧板
'''
思路:
跟平面划分一个道理,每次都会多划分一个区域,F(n)=F(n-1)+1 。
答案是47 = 7+ (6+7+8+9+10)
'''
x =7
a =6for i inrange(1,6):
x += a
a +=1print(x)
D. 结果填空:苹果
count =0list=[7,2,12,5,9,9,8,10,7,10,5,4,5,8,4,4,10,11,3,8,7,8,3,2,1,6,3,9,7,1,0,0]for i inrange(30):iflist[i]>=3:
count +=list[i]//3list[i]=list[i]%3
flag =Truewhile flag:iflist[i]>=1andlist[i +1]>=1andlist[i +2]>=1:
count +=1list[i]-=1list[i +1]-=1list[i +2]-=1else:
flag =Falseprint(list)print(count)
F. 程序设计:寻找重复项
a, b, c =map(int,input().split())list=[]list.append(1)for i inrange(1,2000001):
num =((a*list[i-1])+(list[i-1]% b))% c
list.append(num)iflen(list)!=len(set(list)):print(i)breakelse:continueelse:print(-1)
文章目录A. 结果填空: 有趣的数字B. 结果填空:爬楼梯C. 结果填空:七巧板D. 结果填空:苹果F. 程序设计:寻找重复项A. 结果填空: 有趣的数字def solve(n): tmp = 2 if tmp == n: return True while n > tmp: k = n % tmp if k==0:...