用Python解小数奥数题

        大家好,最近初学Python,经常尝试多将Python用于实践,比如解奥数题。

        佛山黄老师提供了一个题目:由数字1-9组成的四位整数中,个位上的数字能被千位、百位、十位上的数字的积整除的四位自然数有多少个?如1228,其个位上的数字能被千位、百位、十位上的数字的积整除,即8能被1×2×2=4整除。

        如果从小学生的角度,可从个位上的数字为突破口,用列表法穷举,如下图。

如果用Python语句,则可以更快得出结果,如下面的语句和部分截图。

num=0
for a in range(1,10):
    for b in range(1,10):
        for c in range(1,10):
            for d in range(1,10):
                if (d)%(a*b*c)==0:
                    print(a,b,c,d)
                    num+=1
print("运行结束,满足条件的数字共有{}个。".format(num))

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值