打印所有不超过256,其平方具有对称性质的数。如2,11就是这样的数,因为22=4,1111=121。
输入描述:
无任何输入数据
输出描述:
输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。
示例1
本题无输入
题解
简单改一下上一题就可以 本质还是反序数的问题
C++11
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#include<map>
#include<vector>
#include<queue>
using namespace std;
int Revx(int x){//求反序数
//一定要int x 这样保证x的个位处理完之后,小于1的x被视为0,从而退出循环处理
int re=0;
while(x!=0){
re*=10;//计算rexv_1
re+=x%10;//计算rexv_2
x/=10;//计算x
}
return re;
}
int main(){
#ifdef ONLINE_JUDGE
#else
freopen("1.txt", "r", stdin);
#endif
for(int i=0;i<=256;++i){
if(i*i==Revx(i*i)){//检测该反序数符不符合平方条件
printf("%d\n",i);
}
}
/* your code */
return 0;
}