C++
$\color{red}{— >另一种阅读体验}$
$\color{gold}{— > 蓝桥杯辅导课题解}$
#include<bits/stdc++.h>
using namespace std;
typedef long long ll; // 由于数据范围最大为10的18次方,用long long
ll a, b, n;
ll days, s; // days 记录天数, s记录每周刷题总数
int main(){
cin >> a >> b >> n;
s = 5 * a + 2 * b;
days += n / s * 7; // 先让days加上题目可以刷几周的天数(可以极大的减少循环次数,降低时间复杂度)
n %= s; // 剩下的就是不足一周的题目数了
for (int i = 1; i <= 7; i ++){ //枚举(最多只用循环7次)
if (n <= 0) break;
if (i <= 5) //周一至周五每天做 a 道题目
n -= a;
else //周六和周日每天做 b 道题目。
n -= b;
days ++;
}
cout << days;
return 0;
}
蓝桥杯13届(2022)C++ B组 填空题:
A.九进制转十进制
2 * 9^3 + 0 * 9^2 + 2 * 9^1 + 2 * 9^0
答案:1478
B.顺子日期
#include <bits/stdc++.h>
using namespace std;
int month[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int main() {
int ans = 0;
for (int i = 0; i <= 1; i ++) {
for (int j = 0; j <= 2; j ++) {
int k = j + 1;
for (int l = 0; l < 10; l ++) {
if (i * 10 + j <= 12 && k * 10 + l <= month[i * 10 + j] && (i + 1 ==j || k + 1 == l)){
// cout << i << j << k << l << endl;
ans ++;
}
}
}
}
cout << ans;
return 0;
}
答案:14