0
点赞
收藏
分享

微信扫一扫

【蓝桥杯真题】Python备战28天

云上笔记 2022-03-12 阅读 72

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.倍数问题

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

举报

相关推荐

0 条评论