1.猴子分香蕉

for i in range(4,10000):
x=i
for j in range(1,5):
if (x-j)%5!=0 or x-j<=0:#保证整除5且平分之前个数大于0
break
x=int((x-j)/5)*4
else:
if x%5==0:
print(i)
break
#3141
2.等差数列

n=int(input())
l=list(map(int,input().split()))
l.sort()
#项数=[(an-a1)/d]+1 d最大 易想到 最大公约数
#观察数据发现 应该需要求出n个数之间的最大公约数
def gcd(a,b):
while b:
a,b=b,a%b
return a
def l_gcd(nums):
if len(nums)==1:
return nums[0]
elif len(nums)==2:
return gcd(nums[0],nums[1])
else:
return gcd(l_gcd(nums[:len(nums)//2]),l_gcd(nums[len(nums)//2:]))
if max(l)==min(l):
print(n)
else:
t=[l[i]-l[i-1] for i in range(1,n)]
d=l_gcd(t)
print(int((l[-1]-l[0])/d+1))
3.平方序列

for x in range(2020,100000):
for y in range(x,100000):
if 2*x**2==2019**2+y**2:
print(x+y)
4.倍数问题

有任何疑惑欢迎留言评论 !!