-
#include
求 n 的所有值不超过 200,n 的平方是具有对称属性的回文数。 回文数与从左到右读取一个数相同,例如,满足题问要求的数字为:n 11, 112 121。 */
int huiwen(int n)
int a,b,c,d,e;
if(n<100)
a=n%10;
b=n/10;
if(a==b)
return 1;
elsereturn 0;
if (n>=100&&n<1000)
a=n%10;
b=(n/10)%10;
c=n/100;
if(a==c)
return 1;
elsereturn 0;
if(n>=1000&&n<10000)
a=n%10;
b=(n/10)%10;
c=(n/100)%10;
d=n/1000;
if(a==d&&b==c)
return 1;
elsereturn 0;
if(n>=10000&&n<100000)a=n%10;
b=(n/10)%10;
c=(n/100)%10;
d=(n/1000)%10;
e=n/10000;
if(a==e&&b==d)
return 1;
elsereturn 0;
int main ()
int n;
int m;
for(n=1;n<=200;n++)
m=huiwen(n*n);
if(m==1)
printf("%d",n);
return 0;
-
n 可以是两位数或三位数。 如果 n 是两位数,那么设 n 是 ab,那么 n 的三位平方是(不考虑进位)aa、2ab、bb。 由于 n 的平方是回文数,aa=bb,所以 n 是对称的。
如果 n 是三位数,则设 n 为 cde,则 n 的平方表示为(不考虑进位)cc、2cd、2ce+dd、2de、ee因为 n 的平方是回文数,cc=ee,所以 n 是对称的。 这就是我能做的,如果它对你有用,请接受它!
-
我前几天刚做了一个类似的问题,这里只有3位数字,比较简单,而且已经调试运行过了,绝对准确!
main()
else *两位数大小写* }}
-
汇编编码过于繁琐,但C程序表达逻辑很方便。
#include
int huiwei(int num) 是返回 1int main() 时的回文
-
b=0 用于为 b 分配一个初始值,该值应放在 while 循环之外,否则会发生错误。
10*b+a%10 的作用是将 a 的最后一个数字逐个取,然后将其拼接在一串 b 数字后面。