九度OJ 1074 (对称平方数)
1.题目描述:
打印所有不超过n(n<256)的,其平方具有对称性质的数。
如11*11=121
输入:
无任何输入数据
输出:
输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。
2.代码实现
#include <iostream>
#include <stdio.h>
#define N 7
//woc N 分配太小了,debug了半天
using namespace std;
int main()
{
int buf[N];
int size=0;
int num=0;
int cnt=0;
for(int number=0;number<256;number++){
num = number*number;
size=0;
while(num!=0){
buf[size++]=num%10;
num=num/10;
}
cnt=0;//计数器置0
for(int i=0;i<(size/2);i++){
if(buf[i]==buf[size-1-i])
cnt++;
}
if(cnt==size/2)
printf("%d\n",number);
}
return 0;
}