一辆卡车违反交通规则,撞人后逃跑。现场有三人目击该事件,但都没有记住车号,只记下车号的一些特征。
甲说:牌照的前两位数字是相同的;
乙说:牌照的后两位数字是相同的,但与前两位不同;
丙是数学家,他说:四位的车号刚好是一个整数的平方。
请根据以上线索求出车号。
思路:
- 创建一个循环,遍历所有可能的四位数(范围为1000到9999)。
- 对于每个四位数,检查是否满足以下条件:
- 牌照的前两位数字是相同的。
- 牌照的后两位数字是相同的,但与前两位不同。
- 车号刚好是一个整数的平方。
- 如果一个四位数满足以上所有条件,将其作为可能的车号输出。
流程图:
代码实现:
1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int i = 0, j = 0; 6 int k = 0; //k记录车牌号 7 int flag = 0; //用来记录是否找到嫌疑人车牌号 8 for (i = 0; i <= 9; i++) 9 { 10 for (j = 0; j <= 9; j++) 11 { 12 if (i != j) 13 { 14 k = 1000 * i + 100 * i + 10 * j + j; 15 for (int temp = 31; temp <= 99; temp++) 16 { 17 if (temp * temp == k) 18 { 19 flag = 1; 20 cout << "车牌号为" << k << endl; 21 } 22 } 23 } 24 if (flag == 1) //如果已经找到,直接退出 25 { 26 return 0; 27 } 28 } 29 } 30 }
标签:交通肇事,牌照,两位,四位数,车号,int,编程,打卡,数字 From: https://www.cnblogs.com/qmz-znv2/p/17388303.html