当前位置:   article > 正文

题目:顺子日期(蓝桥OJ 2096)_2022年的顺子日期有哪些

2022年的顺子日期有哪些

题解:

  1. #include<stdio.h>
  2. int main()
  3. {
  4. int t=0;
  5. int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
  6. //因为2022为平年,所以二月为28天
  7. int b[8]={2,0,2,2};//往数组b放日期
  8. for(int i=1;i<=12;i++)
  9. {
  10. b[4]=i/10;//每月的最高位
  11. b[5]=i%10;//每月的最低位
  12. for(int j=1;j<=day[i];j++)
  13. {
  14. b[6]=j/10;//天数的最高位
  15. b[7]=j%10;//天数的最底位
  16. if(b[4]+1==b[5]&&b[5]+1==b[6]||b[5]+1==b[6]&&b[6]+1==b[7])
  17. //两种情况:顺子日期偏向月份,如1230 顺子日期偏天数,如0123
  18. t++;
  19. }
  20. }
  21. printf("%d",t);
  22. return 0;
  23. }

 附:因为2022年这四位无法与后面的四位形成顺子。例,没有2022.34.00,这样的月份不存在,所以只需要判断后面的四位即可,以下位改善题解。

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. int sum = 0;//记得要给初值****
  6. int day[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};//七八月都有31天
  7. int a[4];
  8. for(int i = 1; i <= 12; i++)
  9. {
  10. a[0] = i/10;
  11. a[1] = i%10;
  12. for(int j = 1; j <= day[i]; j++)
  13. {
  14. a[2] = j/10;
  15. a[3] = j%10;
  16. if((a[0] + 1 == a[1] && a[1] + 1 == a[2]) || (a[1] + 1 == a[2] && a[2] + 1 == a[3]) )
  17. {
  18. sum++;
  19. }
  20. }
  21. }
  22. cout << sum ;
  23. return 0;
  24. }

闰年:能被400整除或能被4整除不能被100整除。 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/388621
推荐阅读
相关标签
  

闽ICP备14008679号