c++在周一,车牌尾号为1,3,5 的车辆不能通行。 在周二,车牌尾号为2,4,6 的车辆不能通行。 在周三,车牌尾号为7,8,9,0 的车辆不能通行。 在周四,车牌尾号为1,6,9 的车辆不能通行。 在周五,车牌尾号为2,0,5 的车辆不能通行。 在周六,车牌尾号为3,4,7,8 的车辆不能通行。 在周日,所有车辆均可通行。 小 A 家的两辆车的车牌尾号分别是 ,求在一周中,两辆车至少有一辆能通行的天数。
时间: 2024-02-15 17:04:05 浏览: 16
好的,以下是 C++ 代码实现:
```c++
#include <iostream>
using namespace std;
bool canPass(int day, int a, int b) {
switch (day) {
case 1: return a % 2 == 0 || b % 2 == 0;
case 2: return a % 2 == 1 || b % 2 == 1;
case 3: return a >= 7 || b >= 7;
case 4: return a == 1 || a == 6 || a == 9 || b == 1 || b == 6 || b == 9;
case 5: return a == 2 || a == 0 || a == 5 || b == 2 || b == 0 || b == 5;
case 6: return a == 3 || a == 4 || a == 7 || a == 8 || b == 3 || b == 4 || b == 7 || b == 8;
case 7: return true;
default: return false;
}
}
int main() {
int a, b;
cin >> a >> b;
int cnt = 0;
for (int day = 1; day <= 7; day++) {
if (!canPass(day, a, b)) {
cnt++;
}
}
cout << 7 - cnt << endl;
return 0;
}
```
这里的 `canPass` 函数用于判断两辆车在某一天是否都不能通行。如果两辆车都不能通行,则返回 `false`;否则返回 `true`。在 `main` 函数中,我们枚举每一天,统计不能通行的天数,最后用 7 减去不能通行的天数,即为两辆车至少有一辆能通行的天数。