Python 学习日记day 7

内容:函数&&蓝桥模拟题

第13届蓝桥杯第二场模拟赛:

2.如果一个整数 g 能同时整除整数 A 和 B,则称 g 是 A 和 B 的公约数。

例如:43 是 86 和 2021 的公约数。请问在 1(含) 到 2021(含) 中,有多少个数与 2021 存在大于 1 的公约数。

思路:先创建一个能求俩个数的最大公因数的函数(我看了别人的答案才知道没必要是俩个都是未知数,可以单个未知数的函数就行了,不过问题不大)然后就是迭代 一下 长度是range(1,2022),i从1到2021 中的所有数与2021的最大公因数,如果大于一就记一次数,代码如下:

def yuel(x,y):
    '''定义一个求最大公约数的函数,i 即能被x整除也能被y整除,range为(1,min(x,y))'''
    A=[]    '''准备用的是将所有公因数存列表A中,然后求的是A[-1],即列表最后一位,因为后面的迭代是按照从小到大的顺序的,所以可以这么做'''
    for i in range(1,min(x,y)+1):
        if x%i==0:
            if y%i==0:
                A.append(i)
    return A[-1]
#函数创建完了,就可以根据刚刚的思路继续,最后打印出来结果是89 
j=0
for i in range(1,2022):
    if yuel(i
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值