- 题目描述:
-
打印所有不超过n(n<256)的,其平方具有对称性质的数。如11*11=121
- 输入:
-
无任何输入数据
- 输出:
- 输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。
- 样例输入:
- 样例输出:
思路:
对称性质的判断:先转换成字符串,然后判断回文性质。
代码:
#include <stdio.h> #include <string.h> int check(int a) { char s1[10], s2[10]; int i = 0; while (a>0) { s1[i] = a%10; a /= 10; i++; } s1[i] = ' '; for (int j=0; j<i; j++) { s2[j] = s1[i-1-j]; } s2[i] = ' '; if (strcmp(s1, s2) == 0) return 1; else return 0; } int main(void) { int n, n2; for (n=0; n<256; n++) { n2 = n*n; if (check(n2) == 1) printf("%d ", n); } return 0; } /************************************************************** Problem: 1074 User: liangrx06 Language: C Result: Accepted Time:0 ms Memory:908 kb ****************************************************************/