用C语言完成下面的功能:杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 不吉利的数字为所有含有4或62的号码。例如:62315 73418 88914 都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。 你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。
时间: 2024-04-07 09:29:16 浏览: 102
下面是用 C 语言实现的代码:
```c
#include <stdio.h>
int main() {
int m, n;
int count = 0;
scanf("%d %d", &m, &n);
for (int i = m; i <= n; i++) {
int has_4 = 0, has_6 = 0, has_2_after_6 = 0;
int temp = i;
while (temp > 0) {
int digit = temp % 10;
if (digit == 4 || digit == 6) {
if (digit == 4) {
has_4 = 1;
} else {
has_6 = 1;
if (has_4) {
has_2_after_6 = 1;
break;
}
}
}
temp /= 10;
}
if (!has_2_after_6 && !(has_4 && !has_6)) {
count++;
}
}
printf("%d", count);
return 0;
}
```
该代码的基本思路是,对于每个牌照号码,遍历它的每一位数字,判断是否包含数字 4 或 6,并记录下是否同时包含数字 4 和 6,或者是否包含 62 连号。如果牌照号码既不包含 62 连号,也不同时包含数字 4 和 6,那么就将计数器加一。最后输出计数器的值,即为符合要求的牌照数量。
阅读全文