逃逸车牌

发布时间 2023-04-14 22:13:05作者: Snor9

一.题目:甲说:牌照前两位数字相同;乙说:牌照后两位数字相同且与前两位不同;丙说:四位车号正好是一个整数的平方;

二.问题分析:车牌问题实际上就是一个四位数满足三个条件:1.千位的数与百位数相同(牌照前两位数字相同)2.个位和十位数字相同且不等于千位百位(后两位数字相同,且与前两位不同)

3.四位数是一个整数平方;

三.算法设计:算法有两部分组成:1.前两位相同,后两位也相同且不等于后两位:将千位与百位设为一个数千位乘1000百位乘100,将个位和十位设为一个不同于百位千位的数,并与白位千位相加;

2.判断平方为整数:用数学函数库来解决开根号问题,将开根号后的值分别用整型和浮点型定义,判断是否相等,如果相等则输出该数。

四.代码:

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
for (int i = 1; i <= 9; i++)
{
for (int j = 0; j <= 9; j++)
{
if (j == i) { continue; }
int b = i*1000+i*100+ j * 10 + j;
double a = sqrt(b);
int d= sqrt(b);
if (a == d) { cout << "逃逸的车牌号为:" << b << endl; }
}
}
return 0;
}