星期天的判断(规律)

思考:10的100天之后是星期几?
  我们并不急于求出10^100,而是像1,10,100,1000...这样,依次增加0的个数,观察其规律。


0的个数


0 一天以后的星期数                   1/7 =0 ...1                1


1 10天以后的星期数                   10/7=1....3                3


2  100天以后的星期数                 100/7=14 ...2              2


3 1000天以后的星期数                 1000/7=142...6             6


4 10000天以后的星期数                10000/7=1428..4            4


5 100000天以后的星期数               100000/7=14285..5          5


6 1000000天以后的星期数              1000000/7=142857..1        1


7 10000000天以后的星期数             10000000/7=1428571..3      3
.                                    .
.
.
余数以1、3、2、6、4、5...的顺序循环,


所以:


10^100天以后的星期天,可以将天数中0的个数除以6,通过所得的余数来判断,即:


100 % 6= 4;


故知:答案是星期四


***********************************************修改于:2015年7月31日19:36:33****************************************************************

以上是在程序员的数学一书上看的,用快速幂取余直接求了尴尬

int pow_(int a,int k,int p){   //求返回 (a^k)%p,   此题只需调用: pow_(10,100,7) 即可
if(k==0) return 1;
if(k==1) return a%p;
int res=pow_(a,k/2,p);
res=res*res%p;
if(k&1) res=res*a%p;
return res;
}


其实还有 更直接的方法: 用中国剩余定理直接求 : 10^100%7=  (10%7)*100%7 =4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值