- 5
- 0
- 约3.23千字
- 约 4页
- 2021-01-01 发布于海南
- 举报
C 语言求回文数
问题描述
打印所有不超过 n (取n256 )的其平方具有对称性质的数(也称回文数) 。
问题分析
对于要判定的数 n 计算出其平方后 (存于 a ),按照 “回文数”的定义要将最高位与最低位、
次高位与次低位……进行比较,若彼此相等则为回文数。此算法需要知道平方数的位数,再
一一将每一位分解、比较,此方法对于位数已知且位数不是太多的数来说比较适用。
此问题可借助数组来解决。将平方后的( a 的)每一位进行分解,按从低位到高位的顺序依
次暂存到数组中, 再将数组中的元素按照下标从大到小的顺序重新将其组合成一个数众 (如
n=15 ,则 a=225 且 k=522 ),若 k 等于 n ×n 则可判定 n 为回文数。
算法设计
从低位到高位将某一整数拆分。对于一个整数(设变量名为 a )无论其位数多少,若欲将最
低位拆分,只需对 10 进行求模运算 a%10 ,拆分次低位首先要想办法将原来的次低位作为
最低位来处理,用原数对 10 求商可得到由除最低位之
原创力文档

文档评论(0)