题目
描述:
打印所有不超过256,其平方具有对称性质的数。如2,11就是这样的数,因为2*2=4,11*11=121。
输入描述:
无任何输入数据
输出描述:
输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。
题解
具有对称性质的数实际上就是自身等于其反序数的数,例如1221。所以可以直接使用之前求反序数的函数,判断一个数是否等于其反序数,相等就输出,不等直接跳过判断下一个数。
#include <stdio.h>int Reverse(int x) {int sum = 0;while(x != 0){sum *= 10;sum += x%10;x /= 10;}return sum; }int main() {for(int i = 0; i <= 256; i++){if(i*i == Reverse(i*i)){printf("%d\n",i);}}return 0; }