#include<stdio.h>
int main(){
int n,p,i,x,m;
n=0;
while(n<256){
bool c=true;
int a[10];
p=n*n;
i=0;
while(p>0){
a[i]=p%10;
p=p/10;
i++;
}
if(i==1){
printf("%d\n",n);
}
else{
m=i/2;
x=i;//x是p的位数
for(i=0;i<m;i++){
if(a[i]!=a[x-i-1]){
c=false;
break;
}
}
if(c==true){
printf("%d\n",n);
}
}
n++;
}
return 0;
int main(){
int n,p,i,x,m;
n=0;
while(n<256){
bool c=true;
int a[10];
p=n*n;
i=0;
while(p>0){
a[i]=p%10;
p=p/10;
i++;
}
if(i==1){
printf("%d\n",n);
}
else{
m=i/2;
x=i;//x是p的位数
for(i=0;i<m;i++){
if(a[i]!=a[x-i-1]){
c=false;
break;
}
}
if(c==true){
printf("%d\n",n);
}
}
n++;
}
return 0;
}
第一次错误:忘了n++;
第二次错误:少算了0
还有不能忘记考虑 平方为一位数时的情况 也就是循环时的边缘数值
本文探索了一个数学问题,即如何通过编程判断一个正整数的平方是否具备对称回文性质。通过实现一个算法,我们可以检查一个数的平方是否由相同数字构成,且在不同位置上对称排列。这涉及到循环、数组操作以及条件判断,展示了编程解决数学问题的能力。
5370

被折叠的 条评论
为什么被折叠?



