找回密码
 欢迎注册
楼主: wayne

[提问] 求2^1000的各位数字之和

[复制链接]
 楼主| 发表于 2013-8-16 14:22:04 | 显示全部楼层
云梦 发表于 2013-8-16 13:41
看来郭先生可以求出任意位的数字喽?


对于幂的 固定数目的末尾数字,本质上就是模幂运算,比如你提出的问题,用Mathematica 0秒钟 就能求得末尾1000位数。
  1. Timing[PowerMod[2,123456789012345678901234567890123456789,10^1000]]
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-8-16 14:36:38 | 显示全部楼层
因为底数是2,相比以一般大整数为底的模幂计算,有更简单的算法(主要体现在可“移位”取代“乘法”上)。

点评

多谢,老大有心了/  发表于 2013-8-16 14:48
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 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
p.PNG
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-8-20 17:14:07 | 显示全部楼层
在2^n次方中一定藏有你的身份证号码,请找找看!  这个n最小到底是多少呢?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-8-20 18:50:45 | 显示全部楼层
云梦 发表于 2013-8-20 17:14
在2^n次方中一定藏有你的身份证号码,请找找看!  这个n最小到底是多少呢?

我没找到我的身份证号码,但是我可以给出这方面的代码,仅供参考!
QQ截图20130820185022.jpg
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-8-20 18:52:25 | 显示全部楼层
  1. Clear["Global`*"];(*Clear all variables*)
  2. k=0;(*用来判定是否中断循环*)
  3. myID={1,9,4,9,1,0,0,1};(*被查找的连续数字串*)
  4. nn=Length@myID;(*数字串的数字个数*)
  5. Do[
  6.     a=IntegerDigits[2^n];(*计算n次方*)
  7.     (*通过循环来从头到尾查找,如果找到打印出来,并且中断循环*)
  8.     Do[sub=a[[i;;i+nn-1]];
  9.         If[sub==myID,
  10.             Print[{"n次方n=",n,"从前向后第i位i=",i}];
  11.             k=1;
  12.             Break[]
  13.         ],
  14.         {i,1,Length@a-(nn-1)}
  15.     ];
  16.     (*找到则终止外面的这层循环*)
  17.     If[k==1,Break[]],
  18.     {n,1,50000}
  19. ]
复制代码
这个是我写的代码,
供复制用.
查找的是国庆日1949年10月1日
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-8-20 21:22:29 | 显示全部楼层
因为你的n太小了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-8-21 21:32:53 | 显示全部楼层
云梦 发表于 2013-8-20 17:14
在2^n次方中一定藏有你的身份证号码,请找找看!  这个n最小到底是多少呢?

身份证 这数字还是太私密了,没准有的人身份证数字串的出现只需 很小的n
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-23 17:34 , Processed in 0.028681 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表