24小时热门版块排行榜    

查看: 1020  |  回复: 4
本帖产生 4 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

holmescn

金虫 (正式写手)

[交流] Euler 工程 第十九题:每月第一天是周日的天数 已有3人参与

首先我们已经知:

  • 1900-1-1 是周一
  • 4、6、9、11月有30天,1、3、5、7、8、10、12有31天
  • 2月在闰年29天,非闰年28天
  • 能被400或4整除的年份是闰年


那么整个20世纪有多少个月的第一天是周日呢?(从1901-1-1到2000-12-31)
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangww2011

木虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 谢谢交流 2011-06-04 17:19:13
余泽成(程序强帖+1): 鼓励交流! 2011-06-04 19:23:09
c语言版本
CODE:
#include

static int month[2][12]=
       {{31,28,31,30,31,30,31,31,30,31,30,31},
        {31,29,31,30,31,30,31,31,30,31,30,31}};

int isleap(int n){
  if((n%400==0)||(n%4==0&&n%100!=0))return 1;
  else return 0;
}

int euler19(){
  int year,leap_year,m;
  int result=0;
  long days=0;
  
  for(year=1900;year<2001;year++){
    leap_year=isleap(year);
    for(m=0;m<12;m++){
      if(year>1900&&days%7==1)result++;
      days+=month[leap_year][m];
    }
  }
  
  return result;
}


int main(void){

printf("%d\n",euler19());

return 0;
}

4楼2011-06-03 13:36:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 holmescn 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见