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

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

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

85.回文的形成
取任意一个十进制整数,与原整数倒相加,得到一个新的整数,重复上述步骤,得到一个回文。请通过编程验证。
*问题分析及算法设计
这种回文的形成规律还是一种猜想,没有得到数学上的证明。有些回文要经过几百步才能得到。在这里,通过编程来验证。
题目中给出的处理非常清晰,算法不需要特殊设计。可以根据题目的描述直接验证。
*程序和程序注释
# include
# define max 2147483647
long re(long int);
int nonres(long int s);
void main()
{
long int n,m;
int count = 0;
printf("请选择性地输入一个数字:");
scanf("%ld ",& n);
printf("回文的生成过程:\ n ");
while(!Non ((m = re (n))+n)/*判断一个整数在其逆序数相加后是否为回文*/
{
if(m+n > = max)
{
printf("输入错误,break
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("这里我们终于达到目的了!\ n ");
}
long re(long int a)/*求输入整数的逆序数*/
{
long int t;
for(t = 0;a > 0;A/=10) /*反转整数顺序*/
t = t * 10+a % 10;
return t;
}
int non RES(long int s)/*判断给定整数是否为回文*/
{
if (re (s) = = s)返回1;/*如果是回文,则返回1 */
否则返回0;/*否则,0 */
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C趣味编程百例(27)回文数的形成

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情