wayne 发表于 2013-8-16 14:22:04

云梦 发表于 2013-8-16 13:41
看来郭先生可以求出任意位的数字喽?

对于幂的 固定数目的末尾数字,本质上就是模幂运算,比如你提出的问题,用Mathematica 0秒钟 就能求得末尾1000位数。Timing]

gxqcn 发表于 2013-8-16 14:36:38

因为底数是2,相比以一般大整数为底的模幂计算,有更简单的算法(主要体现在可“移位”取代“乘法”上)。

云梦 发表于 2013-8-16 19:37:42

不知道这题是否也简单。
2^n=k0k1k2+...+kj+..+kn, n->∞:
请问第kj位的循环节长度是多少?(每一位的数字都是循环变化的)
如个位的循环节长度是4,“2486”,十位的循环节长度是20.百位的是100等等。从个位开始的循环节数列4,20,100,500,2500.........
除个位外为什么循环节长度都是10的整倍数?

无心人 发表于 2013-8-18 18:04:32

云梦 发表于 2013-8-16 19:37
不知道这题是否也简单。
2^n=k0k1k2+...+kj+..+kn, n->∞:
请问第kj位的循环节长度是多少?(每一位的数 ...

这个似乎能求出来

云梦 发表于 2013-8-20 07:45:32

本帖最后由 云梦 于 2013-8-20 07:58 编辑

没有人回应,看来这问题不太简单。还是我给出答案吧!
n=10^10时: s=1.8334878436412437966870222739201 E6989700043
n=10^100时:   s=3.1350553665404373992201256000189 E6989700043360188047862611052755069732318101185378914586895725388728918107255754905130727478818138279

云梦 发表于 2013-8-20 17:14:07

在2^n次方中一定藏有你的身份证号码,请找找看!这个n最小到底是多少呢?

mathematica 发表于 2013-8-20 18:50:45

云梦 发表于 2013-8-20 17:14
在2^n次方中一定藏有你的身份证号码,请找找看!这个n最小到底是多少呢?

我没找到我的身份证号码,但是我可以给出这方面的代码,仅供参考!

mathematica 发表于 2013-8-20 18:52:25

Clear["Global`*"];(*Clear all variables*)
k=0;(*用来判定是否中断循环*)
myID={1,9,4,9,1,0,0,1};(*被查找的连续数字串*)
nn=Length@myID;(*数字串的数字个数*)
Do[
    a=IntegerDigits;(*计算n次方*)
    (*通过循环来从头到尾查找,如果找到打印出来,并且中断循环*)
    Do];
      If[sub==myID,
            Print[{"n次方n=",n,"从前向后第i位i=",i}];
            k=1;
            Break[]
      ],
      {i,1,Length@a-(nn-1)}
    ];
    (*找到则终止外面的这层循环*)
    If],
    {n,1,50000}
]
这个是我写的代码,
供复制用.
查找的是国庆日1949年10月1日

云梦 发表于 2013-8-20 21:22:29

因为你的n太小了。

wayne 发表于 2013-8-21 21:32:53

云梦 发表于 2013-8-20 17:14
在2^n次方中一定藏有你的身份证号码,请找找看!这个n最小到底是多少呢?

身份证 这数字还是太私密了,没准有的人身份证数字串的出现只需 很小的n
页: 1 2 3 [4] 5
查看完整版本: 求2^1000的各位数字之和