1.4 抓交通肇事犯

 

第一部曲:通过枚举前两位的数字和后两位的数字,当这两个数字不同时,进行判断是否是完全平方数,如果是就输出,不是就继续循环。

第二部曲:

 第三部曲:int i,j,k=1000*i+100*i+10*j+j;

for() for() 判断是否满足。

第四部曲:

#include<iostream>
#include<cmath>
using namespace std;
bool issquarednumber(int x)//判断是否是完全平方数
{
if(sqrt(x)==(int)sqrt(x))
return true;
else
return false;
}
int main()
{
int i,j,k;
for(i=0;i<10;i++)//两层循环
{
for(j=0;j<10;j++)
{
if(i!=j)//如果不相等
{
k=1000*i+100*i+10*j+j;
if(issquarednumber(k))//如果是完全平方数,输出
{
cout<<k;
}

}
}
}






return 0;
}

 优化代码,当输出车牌号后就跳出循环,跳出多重循环要利用标识变量,比如falg。

#include<iostream>
#include<cmath>
using namespace std;
bool issquarednumber(int x)//判断是否是完全平方数
{
if(sqrt(x)==(int)sqrt(x))
return true;
else
return false;
}
int main()
{
int i,j,k,flag=0;
for(i=0;i<10;i++)//两层循环
{
if(flag)
break;
for(j=0;j<10;j++)
{
if(flag)
break;
if(i!=j)//如果不相等
{
k=1000*i+100*i+10*j+j;
if(issquarednumber(k))//如果是完全平方数,输出
{
flag=1;
cout<<k;
}

}
}
}






return 0;
}

 

posted @ 2023-04-19 11:33  自律小子丶  阅读(19)  评论(0)    收藏  举报