一、问题描述
一辆卡车违反交通规则,撞人后逃跑。现场有三人目击该事件,但都没有记住车号,只记下车号的一些特征。
甲说:牌照的前两位数字是相同的;
乙说:牌照的后两位数字是相同的,但与前两位不同;
丙是数学家,他说:四位的车号刚好是一个整数的平方。
请根据以上线索求出车号。
二、设计思路
(1)用变量i来代表车牌的前两个数字,j来代表车牌的后两个数字
(2)使用for循环(嵌套)来找出满足题目要求的车牌号(即四位的车号刚好使一个整数的平方)
(3)将满足题目的结果输出
三、程序流程图
四、伪代码
五、代码
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 }
六、总结
(1)在进行循环时,如果已找到所需要的值,可以选择return 0直接退出程序,以减少循环次数,节省时间;