杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 不吉利的数字为所有含有4或62的号码。例如:62315 73418 88914 都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。 你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。 【输入形式】 输入整数对m和n(0<m≤n<1000000),空格分隔 【输出形式】 输出[m,n]区间内一共有多少个数不含有不吉利数字
时间: 2023-05-31 14:02:41 浏览: 226
【样例输入】
62310 62400
【样例输出】
9
【样例输入】
100 200
【样例输出】
138
【提示】
第一个样例中,区间[62310,62400]中,含有不吉利数字的有62315、62324、62342、62352、62362、62372、62382、62392、62462,因此不含不吉利数字的数共有9个。
第二个样例中,区间[100,200]中,含有不吉利数字的有104、114、124、134、140、141、142、143、144、145、146、147、148、149、164、174、184、194,因此不含不吉利数字的数共有138个。
相关问题
用C语言完成下面的功能:杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 不吉利的数字为所有含有4或62的号码。例如:62315 73418 88914 都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。 你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。
下面是用 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,那么就将计数器加一。最后输出计数器的值,即为符合要求的牌照数量。
杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 不吉利的数字为所有含有4或62的号码。例如: 62315 73418 88914 都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。 你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。 Input 输入的都是整数对n、m(0<n≤m<1000000),如果遇到都是0的整数对,则输入结束。 Output 对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。
这是一个简单的统计问题。你需要统计在给定的牌照区间内,不含有不吉利数字的牌照个数。
你可以使用一个循环来遍历区间内的每个牌照号码,然后判断该号码是否含有不吉利数字。如果不含有,则计数器加一。
以下是一个示例的Python代码实现:
```python
def count_good_plates(n, m):
count = 0
for num in range(n, m+1):
plate = str(num)
if '4' not in plate and '62' not in plate:
count += 1
return count
# 读取输入
while True:
n, m = map(int, input().split())
if n == 0 and m == 0:
break
print(count_good_plates(n, m))
```
你可以将输入的整数对作为函数的参数,然后在循环中进行判断和计数。最后输出计数结果。
希望这个答案能帮到你!如果还有其他问题,请随时提问。
阅读全文