题解

129 条题解

  • 0
    @ 2006-09-18 19:24:26

    for i:=1 to 10000 do

    begin

    case month of

    1,3,5,7,8,10,12:

    4,6,9,11:

    2:判断;

    end;

    day:=day+1;

    ---|---|---|---|---|---|

    我菜鸟只能用这种了

  • 0
    @ 2006-09-03 14:43:38

    应该还是比较简单的...

  • 0
    @ 2006-09-02 19:44:18

    另有一个办法:

    设生日为本年的第n天(1月1日为第0天),这样问题就可以变成:求出生那年1月1日之后的第10000+n天,这样就可以用年的天数来模拟,效率会高一些

  • 0
    @ 2006-09-01 23:58:42

    闰年的计算方法:公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。如2000年是闰年,而1900年不是。

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~我连这都不清楚~~~寒

  • 0
    @ 2006-09-01 21:37:13

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2006-09-01 20:17:07

    简单模拟即过

    当然也可以cheat---|-RP降低了不是我的事

  • 0
    @ 2006-09-01 20:20:05

    能被400整除的一定是闰年啊.

    本人太菜,用枚举都过不了...

  • 0
    @ 2006-09-01 19:47:14

    这题是不是有问题 当年数是400倍数的时候应该不是润年啊。。

  • -1
    @ 2021-07-14 12:38:25

    纯模拟

    #include<bits/stdc++.h>
    using namespace std;
    int daynum[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    int main(){
      int year,month,day;
      cin>>year>>month>>day;
      for(int i=0;i<10000;i++){
        if((year%4==0&&year%100!=0)||year%400==0)daynum[2]=29;
        else daynum[2]=28;
        ++day;
        if(day>daynum[month]){
          day=1;++month;
        }
        if(month>12){
          month=1;++year;
        }
      }
      printf("%d-%d-%d",year,month,day);
    }
    

信息

ID
1211
难度
3
分类
模拟 点击显示
标签
(无)
递交数
2740
已通过
1333
通过率
49%
被复制
16
上传者