![]() ![]() |
|
C趣味编程百例(08)回文数 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 13:59:21 文章录入:杜斌 责任编辑:杜斌 | |
|
|
打印所有不超过n(取n<256) 的其平方具有对称性质的数(也称回文数)。 *题目分析与算法设计 对于要判断的数n,计算出其平方后(存于a),将a的每一位进行分解,再按a的从低到高的顺序将其恢复成一个数k(如n=13,则a=169且k=961),若a等于k则可判定n为回亠数。 *程序说明与注释 #include<stdio.h> void main() { int m[16],n,i,t,count=0; long unsigned a,k; printf("No. number it’s square(palindrome)\n"); for(n=1;n<256;n++) /*穷举n的取值范围*/ { k=0;t=1;a=n*n; /*计算n的平方*/ for(i=1;a!=0;i++) /*从低到高分解数a的每一位存于数组m[1]~m[16]*/ { m[i]=a%10; a/=10; } for(;i>1;i--) { k+=m[i-1]*t; t*=10; } if(k==n*n) printf("%2d%10d%10d\n",++count,n,n*n); } } *运行结果 No. number it’s square(palindrome) 1 1 1 2 2 4 3 3 9 4 11 121 5 22 484 6 26 676 7 101 10201 8 111 12321
9 121 14641 |
|
![]() ![]() |