第三周作业1

这周作业1是看懂张老师的一个C#程序(http://www.cnblogs.com/qingxu/p/5279438.html)

刚开始没看懂,一位Int64.MaxValue的值为64,(T_T),我太天真了,

其实他是想找一个数,不能被rg数组中两个连续的数整除,能被这两个数后的所有 数整除,将这样的一个数打印出来。

1,首先排除2~15的15 个数,因为能整除16~30的数一定能整除2~15

2,从16开始连续2个数不能被整除,去最小为16,17,

所以这个数为7*8*11*13*19*23*25*27*29*31=2123581660200

为啥呢首先假如这个数为31!=31*30*29*28*27*26*25*24*23*22*21*20*19*18*17*16*15*14*13*12*11*10*9*8*7*6*5*4*3*2*1

则30=10*3,所以30可以约掉,同理,28=4*7,可以约掉,

同理剩下质数之积=31*29*23*19*17*13*11*7*5*3*2

但是由于这个数还必须整除27=3*3*3,约掉3乘27

25=5*5,约掉5乘以25

16=8*2,但是上面推出不能整除16,所以约掉2再乘8

这个数最小=31*29*23*19*17*13*11*7*27*25*8=2123581660200

现在说说为啥是选16,17

取个极端的两个数,如果30,31不能整除,在31,29,23,19,17,13,11,7,27,25,8中去掉31再16*17,而31<16*17

所以选不能整除16,17

 

3我没看懂其他的做法,

运行时间不会计算,参考同学的(http://www.cnblogs.com/yzdd/p/5283887.html#3385425)也没看懂...

单核CPU4.0G HZ 执行速度为4*10^9/s。(2)外层循环2123581660200次。(3)执行一次%操作用80个CPU周期(http://blog.sina.com.cn/s/blog_65ba9a5e0102v2ih.html)。(4)内层循环次数取决于i,i奇数5次(不能整除2,4),i偶数估计最多执行15次,(方法类似于附录一 2)平均8次。因为i连续增长即i 奇偶交替,所以两种情况取平均值再加上其他判断和赋值语句,得出内层循环次数约为80*(7+5)=960次。(5)总次数=外层*内层(6)执行时间=总次数/每秒执行速度*60=8500min 

 

posted @ 2016-03-21 08:05  wodove  阅读(170)  评论(1编辑  收藏  举报