开天辟地的卷毛 2023-03-12 18:20 采纳率: 83.7%
浏览 12

蓝桥杯模拟赛填空题第三题



#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

bool is_leap(int year) {
    return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}

int get(int x) {
    int res = 0;
    while(x) {
        res += x % 10;
        x /= 10;
    }
    return res;
}

int work(int y, bool leap) {
    
    int cnt = 0;
    
    for(int i = 1; i <= 12; i ++) {
        int k = days[i];
        if(i == 2 && leap) k ++ ;
        
        for(int j = 1; j <= k; j ++) {
            if(get(y) == get(i) + get(j)) {
                cnt ++ ;
            }
        }
    }
    
    return cnt;
}

int main() {
    
    int res = 0;
    
    for(int y = 1900; y <= 9999; y ++) {
        bool leapY = is_leap(y);
        
        res += work(y, leapY);
    }
    
    cout << res << "\n";
    return 0;
}

想问一下,这段代码的work和gets函数分别有什么作用,写这一段代码的思路是怎么样的,这段代码又是怎么解释的呢。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-03-12 20:10
    关注
    评论

报告相同问题?

问题事件

  • 创建了问题 3月12日

悬赏问题

  • ¥15 Android studio AVD启动不了
  • ¥15 陆空双模式无人机怎么做
  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关
  • ¥15 C#中的编译平台的区别影响
  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
  • ¥15 电脑蓝屏logfilessrtsrttrail问题
  • ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)
  • ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?
  • ¥15 Java+vue部署版本反编译
  • ¥100 对反编译和ai熟悉的开发者。