华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1207|回复: 1
打印 上一主题 下一主题

闰年判断

[复制链接]

738

主题

1485

帖子

5422

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5422
跳转到指定楼层
楼主
发表于 2018-6-3 10:04:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
方法1: 数学老师教的,整百年被400整除是闰年,不是整百年被4整除就是闰年。
  1. #include<iostream>
  2. using namespace std;
  3. int y;
  4. int main()
  5. {
  6.     cin>>y;
  7.     if (y%100==0)
  8.     {
  9.         if (y%400==0) cout<<"YES";
  10.         else cout<<"NO";
  11.     }
  12.     else
  13.     {
  14.         if (y%4==0) cout<<"YES";
  15.         else cout<<"NO";
  16.     }
  17.     return 0;
  18. }
复制代码


方法2:被400整除一定是闰年,否则就要被4 但是不能被100整除。
  1. #include<iostream>
  2. using namespace std;
  3. int y;
  4. int main()
  5. {
  6.     cin>>y;
  7.     if (y%400==0) cout<<"YES";
  8.     else if (y%100!=0 && y%4==0) cout<<"YES";
  9.     else cout<<"NO";
  10.     return 0;
  11. }
复制代码


方法3:原理同2,但是用b1表示第一种条件,b2表示第二种条件,这样更清晰。
[code][/code]
回复

使用道具 举报

9

主题

158

帖子

470

积分

华一学生

积分
470
QQ
沙发
发表于 2018-7-31 10:12:03 | 只看该作者
  1. #include<iostream>
  2. using namespace std;
  3. int x;
  4. bool isrun(int n)
  5. {
  6.     bool b1=(n%400==0);
  7.     bool b2=(n%4==0&&n%100!=0);
  8.     return b1||b2;
  9. }
  10. int main()
  11. {
  12.     cin>>x;
  13.     if(isrun(x))cout<<"Yes";
  14.     else cout<<"No";
  15.     return 0;
  16. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-12-24 11:41 , Processed in 0.105251 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表