-
题目描述:
-
打印所有不超过n(n<256)的,其平方具有对称性质的数。如11*11=121
-
输入:
-
无任何输入数据
-
输出:
- 输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。
-
样例输入:
-
样例输出:
-
来源:
题目分析:
关键在判断平方的对称性的方法,可以使用 / %等操作得到每一位再反转,也可以使用字符串反转。
源代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int n;
for(n=0; n<256; n++)
{
char buffer[10];
sprintf(buffer, "%d", n*n);
int len = strlen(buffer);
int mid = len/2;
int i = 0;
while(i < mid)
{
char temp = buffer[i];
buffer[i] = buffer[len-i-1];
buffer[len-i-1] = temp;
i++;
}
if(atoi(buffer) == n*n)
printf("%d\n", n);
}
//system("pause");
return 0;
}
/**************************************************************
Problem: 1074
User: superlc320
Language: C++
Result: Accepted
Time:0 ms
Memory:1016 kb
****************************************************************/