早教吧 育儿知识 作业答案 考试题库 百科 知识分享

蔡勒公式计算代码1582.10.4之后的计算代码如下:c代码:#includeintmain(){intyear,month,day;while(scanf("%d%d%d",&year,&month,&day)!=EOF){inti,j,k;intc=year/100;i

题目详情
蔡勒公式
计算代码
  1582.10.4之后的计算代码如下:  c代码:  #include   int main()   {   int year,month,day;   while(scanf("%d%d%d",&year,&month,&day)!=EOF){   int i,j,k;   int c=year/100;   int y=year-c*100;   int week=int(c/4)-2*c+int(y+y/4)+int(13*(month+1)/5)+day-1;   while(week> year >> month >> day){   if ( month < 3 ) {   year -= 1;   month += 12;   }   char b[7][10] = {"sunday","monday","tuesday","wednesday","thursday","friday","saturday"};   int c = int(year / 100),y = year - 100 * c;   int w = int(c / 4) - 2*c +y +int(y/4) +(26 * (month + 1)/10 ) + day - 1;   w = ( w % 7 + 7 ) % 7;   cout
▼优质解答
答案和解析
公式  W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1
  或者是:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
符号意义
  w:星期; w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六
  c:世纪-1(前两位数)
  y:年(后两位数)
  m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算)
  d:日
  [ ]代表取整,即只要整数部分.
  下面以中华人民共和国成立100周年纪念日那天(2049年10月1日)来计算是星期几,
  w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
  =49+[49/4]+[20/4]-2×20+[26×(10+1)/10]+1-1
  =49+[12.25]+5-40+[28.6]
  =49+12+5-40+28
  =54 (除以7余5)
  即2049年10月1日(100周年国庆)是星期五.
  再比如计算2006年4月4日,
  w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
  =6+[6/4]+[20/4]-2*20+[26*(4+1)/10]+4-1
  =-12 (除以7余2,注意对负数的取模运算!)
- -你是做日历的吧= =
看了 蔡勒公式计算代码1582.1...的网友还看了以下: