三连击 P1008 洛谷 python写法

三连击 P1008 洛谷

题意

\(1,2, \cdots,9\)共9个数分成3组,分别组成3个三位数,且使这3个三位数构成1:2:3的比例,试求出所有满足条件的3个三位数。

解题思路

这里我使用了最暴力的方法,结合自己刚学的python来编写的代码。

使用三个for循环来求出第一个数,其他两个数就直接乘上相应的倍数就可以了,然后利用取余和列表中查找操作来进行判断,详情看代码,这也是我第一次用python来解决问题

代码实现(python)

def judge (x, y, z):
    num=[1, 2, 3, 4, 5, 6, 7, 8, 9]
    while x>0:
        if x%10 in num:
            tmp=num.index(x%10)
            del num[tmp]
        else :
            return False
        x//=10
        
        if y%10 in num:
            tmp=num.index(y%10)
            del num[tmp]
        else :
            return False
        y//=10

        if z%10 in num:
            tmp=num.index(z%10)
            del num[tmp]
        else :
            return False
        z//=10
    return True

for i in range(1 , 10):
    for j in range(1 , 10):
        for k in range(1 , 10):
            a=i*100+j*10+k
            b=a*2
            c=a*3
            if judge(a, b, c) == True:
                print(a, b, c)

转载于:https://www.cnblogs.com/alking1001/p/11416655.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值