第一部曲:通过枚举前两位的数字和后两位的数字,当这两个数字不同时,进行判断是否是完全平方数,如果是就输出,不是就继续循环。
第二部曲:
第三部曲: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;
}
标签:1.4,交通肇事,平方,issquarednumber,return,int,sqrt,flag From: https://www.cnblogs.com/wsc6/p/17332770.html