大家好,今天小编关注到一个比较有意思的话题,就是关于c语言算月份的问题,于是小编就整理了1个相关介绍c语言算月份的解答,让我们一起看看吧。
如何快速计算出任意一天是星期几?有哪些技巧?
如果告诉你今天是周日,那么问你再过1023344天是周几,这样很容易算。为什么?因为我们只要mod 7就可以了。mod是同余,它具有一些很好的性质——比如说积性。
ab(mod7) = a(mod7)*b(mod7)
所以,就算你问我再过2018的2018次方天是周几,我也很容易算出来,因为我掌握了同余的数学性质。
我给你举一个例子吧。
今天是周日,再过125天是周几?
125(mod7)=5*25(mod7)=5(mod7)*25(mod7)=5(mod7)*4(mod7)=20(mod7)=6(mod7)
所以,再过125天是周6。
我举的125这个例子当然很简单,但对于比较大的数字,也是可以用这个方法算的。
但是,如果问题不是像上面这样问的,那就难了,因为涉及到闰年的问题,也涉及到闰月的问题,比如你问我公元4326年的9月1日是周几,这样的问题我就回答不了了,因为要去算闰年与闰月,算起来很麻烦,而且没有什么意义,所以我不回答这类问题的。
(上年年份X365.2425+当年日历天数)/7,将所得小数X7,得数便是星期数。例2020.1.1:
(2019X365.2425+1)/7
=105346.51
0.51X7=3.57→2020.1.1日为星期三。
每年每月的对应一个小于7的数,就是当月的大于7的日期加上这个数除以7,余数是几就是星期几,这12个数这个要按年计算,60年一甲子,也就是总共有60组数,这样就可以知道任意一年的任何一天了,不过个人觉得没有多大意义
如何快速计算出任意一天是星期几?有哪些技巧?
现在大家基本上都有手机,用手机里的app或者网页端会很容易查找出某年的某天是星期几。那么,当手头没有手机或者不方便利用计算机上网查询时,我们如何能够快速地推算出某年某天是星期几呢?这里介绍几种方法供大家参考。
说到星期,其实它的起源很早。在公元前7世纪时,古巴比伦就发明了利用星期代表不同天数的制度雏形,当时古巴比伦人将一个月的时间划分为4个星期,每个星期有7天,在每个星期中将每天对应着7个神灵,分别是日月火水木金土神,并建造了七星坛,每天分别祭祀对应的神灵。公元前321年,古罗马皇帝君士坦丁大帝正式建立星期制度。
此后,古巴比伦的星期制度逐渐传播到古埃及、古罗马、古希腊等地,传播到一个新的地方之后,当地的人们便将本地崇拜的神灵与每星期中的天数顺次一一对应。我国的星期制最早可以追溯到唐朝,其来源地为欧洲,然后又流传到日本等亚洲国家。在明朝末年,随着***教传入我国,由于******每个周期日都有在教堂做礼拜的习惯,受此影响,此后人们也将星期称为“礼拜”,对应的星期几也称之为礼拜几。
由于一周的天数为7,而平年的天数为365,我们利用365除以7余数为1的这一特征,只要知道某年的某天是星期几,便可以推算出其它年份对应同一天是星期几。比如2001年1月1日是星期一,那么2002年的1月1日,就是2001年首日的星期数加1,即为星期二2003年首日为星期三,2004年首日为星期四。而2004年为闰年,那么在推算2005年首日的时候,需要在2004年首日星期数的基础上加2,即为星期六。这里要注意的是,如果要计算的天数是在闰年的2月份之前,那么就不需要在星期几的基础上再额外加1,而如果在闰年的2月份之后,则需要额外加上1。
到此,以上就是小编对于c语言算月份的问题就介绍到这了,希望介绍关于c语言算月份的1点解答对大家有用。