第一章 枚举和模拟
03.对称平方数
描述
打印所有不超过256,其平方具有对称性质的数。如2,11就是这样的数,因为2*2=4,11*11=121。
输入描述:
无任何输入数据
输出描述:
输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。
分析:
先建立一个函数求出其反序数
对于1234来说,想要求出其反序数,
可以先取余1234%10=4,然后1234/10=123,再0*10+4=4
123%10=3,123/10=3,4*10+3=43
依次类推得到4321
int Reverse(int n){
int reverse=0;//反序数
int remain=0;//余数
while(true){
remain=n%10;
reverse=reverse*10+remain;
n/=10;
if(n==0){
break;
}
}
return reverse;
}
反序数与平方数是否相等
遍历0到256
for(i=0;i<=256;i++){
if(i*i==Reverse(i*i)){
printf("%d\n",i);
}
完整代码如下