C趣味编程百例(27)回文数的形成

文章作者 100test 发表时间 2007:03:10 17:35:49
来源 100Test.Com百考试题网



85.回文数的形成
任取一个十进制整数,将其倒过来后与原来的整数相加,得到一个新的整数后重复以上步聚,则最终可得到一个回文数。请编程验证。
*问题分析与算法设计
回文数的这一形成规则目前还属于一个猜想,尚未得到数学上的证明。有些回文数要经历上百个步聚才能获得。这里通过编程验证。
题目中给出的处理过程很清楚,算法不需要特殊设计。可按照题目的叙述直接进行验证。
*程序与程序注释
#include
#define MAX 2147483647
long re(long int).
int nonres(long int s).
void main()
{
long int n,m.
int count=0.
printf("Please enetr a number optionaly:").
scanf("%ld",&.n).
printf("The generation process of palindrome:\n").
while(!nonres((m=re(n)) n)) /*判断整数与其反序数相加后是否为回文数*/
{
if(m n>=MAX)
{
printf(" input error,break.\n").
break.
}
else
{
printf("[%d]:%ld %ld=%ld\n", count,n,m,m n).
n =m.
}
}
printf("[%d]:%ld %ld=%ld\n", count,n,m,m n). /*输出最后得到的回文数*/
printf("Here we reached the aim at last!\n").
}
long re(long int a) /*求输入整数的反序数*/
{
long int t.
for(t=0.a>0.a/=10) /*将整数反序*/
t=t*10 a.
return t.
}
int nonres(long int s) /*判断给定的整数是否是回文数*/
{
if(re(s)==s) return 1. /*若是回文数则返回1*/
else return 0. /*否则返回 0*/
}
*运行结果



相关文章


二级Access模块知识
什么人可以报考?何时、何地报名,有何手续?
C趣味编程百例(27)尼科彻斯定理
C趣味编程百例(27)回文数的形成
Access计算机考试辅导第一章数据库基础知识8
全国计算机等级考试是由什么机构组织实施?
计算机职业资格考试日趋火爆
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛