早教吧作业答案频道 -->数学-->
一条计算日期的式子求解释z=(x+(x-1)/4-(x-1)/100+(x-1)/400)%7;这个是C程序,x是输入年数,z得到是这一年第一天是星期几.求解释这个是怎么算的.
题目详情
一条计算日期的式子求解释
z=(x+(x-1)/4-(x-1)/100+(x-1)/400)%7;
这个是C程序,x是输入年数,z得到是这一年第一天是星期几.
求解释这个是怎么算的.
z=(x+(x-1)/4-(x-1)/100+(x-1)/400)%7;
这个是C程序,x是输入年数,z得到是这一年第一天是星期几.
求解释这个是怎么算的.
▼优质解答
答案和解析
z=( x + (x-1)/4 - (x-1)/100 + (x-1)/400 ) %7
1 首先是第1年(公元1年)的第一天是星期1
2 假如每年都是365天,那么每过一年就向后一天 365=364+1=7*N +1 ,所以第1年的第一天是星期1,第2年的第一天是星期2.
3实际上每年并非365天,在润年有366天,也就是说每过一个润年又要多推后一天 366=(7*N+1)+1,再由润年规律可以算出X年时从第1年到X年过了多少个润年" (x-1)/4 - (x-1)/100 + (x-1)/400 " ,为什么用X-1呢?因为是求X年的第一天,X-1代表的是过去的年数(从1年起)
润年规律是:非世纪年是4的倍数的为润年,世纪年是400的倍数的为润年,其余为平年.
(x-1)/4 - (x-1)/100 + (x-1)/400
4的倍数 世纪年 400的倍数
1 首先是第1年(公元1年)的第一天是星期1
2 假如每年都是365天,那么每过一年就向后一天 365=364+1=7*N +1 ,所以第1年的第一天是星期1,第2年的第一天是星期2.
3实际上每年并非365天,在润年有366天,也就是说每过一个润年又要多推后一天 366=(7*N+1)+1,再由润年规律可以算出X年时从第1年到X年过了多少个润年" (x-1)/4 - (x-1)/100 + (x-1)/400 " ,为什么用X-1呢?因为是求X年的第一天,X-1代表的是过去的年数(从1年起)
润年规律是:非世纪年是4的倍数的为润年,世纪年是400的倍数的为润年,其余为平年.
(x-1)/4 - (x-1)/100 + (x-1)/400
4的倍数 世纪年 400的倍数
看了 一条计算日期的式子求解释z=...的网友还看了以下:
(ln1/x)的导数是1/x为什么f(x)=2ln1/(1-x)的导数是-2/(1-x)书上是这么 2020-04-09 …
设lim(x->X)f(x)=∞,且x->X时,g(x)的主部是f(x)证明lim(x->X)g( 2020-04-26 …
当x→0时,1-cosx+sinx的无穷小代换是什么.我知道1-cosx~1/2*(x)^2,si 2020-04-27 …
ln(-x)dx..参考书上写的是=1/(-x)*[(-x)dx]=1/x这是什么公式啊...貌似 2020-04-27 …
设lim(x->X)f(x)=∞,且x->X时,g(x)的主部是f(x)证明lim(x->X)g( 2020-05-12 …
x的n+1次方(x的n次方-x的n-1次方-1)这是计算题~ 2020-05-14 …
填空:1.如果1/2x=0.5,那么x=,这是根据来做的2.如果-5x+6=1-6x,那么x=,这 2020-05-21 …
《信号与系统》的...已知x(t)=cos[ω0(t-t0)],写出信号的频谱函数X(jω),ω0 2020-06-05 …
高二——为什么1∫0e^2xdx=1/2e^2x?为什么(2^x/ln2)'=2^x?为什么[ln 2020-06-14 …
sin^2x导数为什么不能用导数相乘计算看成sinx*sinx这样两个函数再用f(x)*g(x)这 2020-07-22 …