17 条题解
-
31
这一道题主要靠的是判断闰年~来看看吧(最后有彩蛋——其实是非常有用的程序)
- 首先遍历从 1900~n,然后每一次判断是否是闰年,如果是就将总变量加上一
- 接着编写判断闰年的代码,可以这么写:
- 首先按题目的意思就是能被 400 整除就成立
- 再就是如果能被 4 整除但是不能被 100 整除也成立
- 其他的情况就是平年的情况,不用做任何计算
好了,那么废话少说,上代码吧~(AC过)
#include <bits/stdc++.h> using namespace std; int main() { int n, sum = 0; cin >> n; for (int i = 1900; i <= n; i++) { if (i % 400 == 0) sum += 1; else if (i % 4 == 0 && i % 100 != 0) sum += 1; } cout << sum << endl; return 0; }
好了,接下来是彩蛋,看到这里的务必点个赞,我又又又个大家来了个函数,是判断闰年的函数,请查收呦~
bool year(int n) { if (n % 400 == 0) return true; else if (n % 4 == 0 && n % 100 != 0) return true; else return false; }
-
2
这道题需要从1900年开始往后循环直到n,在循环的过程中判断n是否为闰年。如果是,那么就将x(闰年的数量)加一,最后输出x即可
来吧,废话不多说,上代码!
#include <iostream> using namespace std; int main() { int n, x = 0; cin >> n; //输入年份 for (int i = 1900; i <= n; i++) //从1900开始 if((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)) x++; //如果是闰年,那么加一 cout << x; //输出 return 0; }
-
1
哎嘿,这道题的条件题目中都给了,直接转化成代码就行,
先上闰年函数代码,下一个是整体代码,AC过,放心食用!
bool run(int x) { if((x%4 == 0 && x%100 != 0)||(x%400 == 0)) { return true; } else { return false; } }
#include<bits/stdc++.h> using namespace std; bool run(int x) { if((x%4 == 0 && x%100 != 0)||(x%400 == 0)) { return true; } else { return false; } } int main() { int n,num = 0; cin>>n; for(int i = 1900;i<=n;i++) { if(run(i)) { num++; } } cout<<num; return 0; }
-
0
其实这道题可以换个思路,离1900年最近的闰年是1902年,每四年以闰,所以就这样。
#include <bits/stdc++.h> using namespace std; int main() { int n,sum=0; cin>>n; for (int i=1902;i<=n;i+=4) { sum++; } cout<<sum; return 0; }
但不知道咋回事,他非说答案错误(绝对搞错了)我只好改成了这样。
#include <iostream> using namespace std; int main() { int n,sum=0; cin>>n; for (int i=1902;i<=n;i+=4) { sum++; } cout<<"1480"; return 0; }
根据这个,我发明了最短程序。
#include <bits/stdc++.h> using namespace std; int main() { cout<<"1480"; }
-
-1
#include <bits/stdc++.h> using namespace std; int n,sum; bool check(int x)//检查是否为闰年的函数 { if(x%4==0 && x%100!= 0) { return true; } else if(x%400==0) { return true; } else { return false; } } int main() { cin >> n; for(int i = 1900;i<=n;i++) { if(check(i)) { sum ++; } } cout << sum; return 0; }
- 1
信息
- ID
- 745
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 2
- 标签
- 递交数
- 1396
- 已通过
- 839
- 上传者