随机抽样判断6174猜想是否成立

def fs():
    import random
    l1 = 0
    l2 = 1
    n = random.randint(1000, 9999)
    while l1 != l2:
        n = random.randint(1000,9999)
        n1 = list(map(int,str(n)))
        l1 = len(n1)
        l2 = len(set(n1))
    print('随机数取为:',n)
    return list(map(int,str(n)))


a = int(input('抽几个数?:'))
b = 0
for num in range (1,a+1):
        item = ''.join('%s' %i for i in fs())
        i = 0
        while 1:
            m1 = int(''.join(sorted(item, reverse=False)))
            m2 = int(''.join(sorted(item, reverse=True)))
            i = i+1
            mix = m2-m1
            item = str(mix)
            if i <= 7:
                print('第',i,sep='',end='')
                print('次差值结果为:',mix,end='\n')
            else:
                if mix==6174:
                    print('省略从第8次到第',i-1,sep='',end='')
                    print('次的计算')
                    print('第', i, sep='', end='')
                    print('次差值结果为:', mix, end='\n')

            if mix==6174 and i<=7:
                print('在第',i,sep='',end='')
                print('次得出差值为6174,猜想验证成功',end='\n')
                b = b+1
                break
            else:
                if mix==6174:
                    print('7次验算没有得到6174,猜想验证失败', end='\n')
                    print('但在第',i,sep='',end='')
                    print('次算得差值为6174\n')
                    break
print('抽取随机数:',a,end='')
print('个')
print('成立个数:',b,end='')
print('个')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cola_Dream

大学生在线乞讨(滑稽)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值