打印所有不超过n(n<256)的,其平方具有对称性质的数。如11*11=121。
无
每行一个数,表示对称平方数。
*** 提示已隐藏,点击上方 [+] 可显示 ***
北京理工大学计算机专业2002年研究生复试上机试题
/********************************* * 日期:2013-2-15 * 作者:SJF0115 * 题号: 天勤OJ 题目1402: 对称平方数 * 来源:http://acmclub.com/problem.php?id=1402 * 结果:AC * 来源:北京理工大学计算机专业2002年研究生复试上机试题 * 总结: **********************************/ #include <stdlib.h> #include <stdio.h> int Num[10]; int main() { const int N = 256; int i,j,index,flag,n; for(i = 1;i < N;i++){ n = i * i; index = 0; flag = 0; // while(n){ Num[index++] = n % 10; n = n / 10; } //判断其平方具有对称性质 for(j = 0;j <= index/2;j++){ if(Num[j] != Num[index-j-1]){ flag = 1; break; } } //具有对称性 if(flag == 0){ printf("%d\n",i); } } return 0; }
/********************************* * 日期:2013-2-15 * 作者:SJF0115 * 题号: 天勤OJ 题目1402: 对称平方数 * 来源:http://acmclub.com/problem.php?id=1402 * 结果:AC * 来源:北京理工大学计算机专业2002年研究生复试上机试题 * 总结:atoi 将字符串转换成整数 **********************************/ #include <stdlib.h> #include <stdio.h> #include<string.h> int main() { int i,t,n,index; const int N = 256; char str[10]; for(i=1; i < N; i++) { index = 0; n = i*i; while(n) { str[index++] = n % 10 + '0'; n = n / 10; } str[index]='\0'; //判断其平方具有对称性质 if(i*i == atoi(str)) { printf("%d\n",i); } } return 0; }