钱珀瑙恩常数

将所有正整数连接起来构造的一个十进制无理数如下所示:

0.123456789101112131415161718192021…

可以看出小数点后第12位数字是1。

如果dn表示上述无理数小数点后的第n位数字,求下式的值:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

 

python实现:

def create(length):#首先生成一个10进制无理数字串,length表示d下标最大值
    result_str=''
    element=1
    temp_length=0
    while temp_length<length:
        result_str+=str(element)
        element+=1
        temp_length=len(result_str)
    return result_str

def seek_num(result_str,a):#a代表无理数位串的位置,该函数范围特定位置的数字
    num=int(result_str[a-1])
    return num

if __name__ == '__main__':
    result_str=create(1000000)
    sum_num=seek_num(result_str,1)*seek_num(result_str,10)*seek_num(result_str,100)\
            *seek_num(result_str,1000)*seek_num(result_str,10000)\
            *seek_num(result_str,100000)*seek_num(result_str,1000000)
    print(sum_num)

转载于:https://my.oschina.net/u/3641281/blog/1572673

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值