在视线不太好的黑夜一司机撞伤行人之后逃逸,有3个目击者记住了该车的部分车号特征。 甲说:“车牌号的前两位相同,且末位数是奇数”;乙说:“车牌号的后两位加起来等于5”; 丙说:“车牌号是一个N位数,并且能被3整除”。请你写一个程序,该程序接受一个正整数N(>=3), 找出肇事车可能的车牌号。 【输入形式】 一个>=3的正整数 【输出形式】 全部可能的车牌号(一行一个,按递增序)
时间: 2023-06-11 09:06:05 浏览: 245
车牌号识别
以下是Python的代码实现:
```python
n = int(input()) # 输入N
# 枚举车牌号的前两位
for i in range(10):
for j in range(10):
if i == j: # 前两位相同
# 枚举车牌号的末位
for k in range(1, 10, 2):
# 计算车牌号的后两位
l = 5 - j
# 计算车牌号的中间部分
s = n - 4
# 判断车牌号是否是N位数并能被3整除
if s >= 1 and s <= 7 and s % 3 == 0:
# 输出可能的车牌号
print("{}{}{}{}".format(i, j, l, "0" * (s - 3)))
else: # 前两位不同
# 枚举车牌号的末位
for k in range(0, 10, 2):
# 计算车牌号的后两位
l = 5 - (i + j)
# 计算车牌号的中间部分
s = n - 4
# 判断车牌号是否是N位数并能被3整除
if s >= 1 and s <= 7 and s % 3 == 0:
# 输出可能的车牌号
print("{}{}{}{}".format(i, j, l, "0" * (s - 3)))
```
首先枚举车牌号的前两位,分为前两位相同和前两位不同两种情况。对于前两位相同的情况,枚举车牌号的末位,计算车牌号的后两位,然后判断车牌号是否是N位数并能被3整除,如果满足条件则输出可能的车牌号。同理,对于前两位不同的情况也做类似处理。最后按递增序输出所有可能的车牌号。
阅读全文