HDOJ 1282 回文数猜想

来源:互联网 发布:python fft 频域分析 编辑:程序博客网 时间:2024/06/05 18:51
/*******************************************
                                           
          HDOJ 1282 回文数猜想             
                                          
*******************************************/
#include<stdio.h>
int Dudge(int num);/*定义一个函数判断是否为回文数*/
int main(void)
{
int num,dnum,mnum,Num[1000],i,temp,sum,k;//常规变量
while(scanf("%d",&num)!=EOF)//输入数据
{
if(Dudge(num)==1)
printf("%d\n%d\n",0,num);
else
{
Num[0]=num;
i=1;
temp=num;
while(1)
{
mnum=temp;
sum=0;
while(mnum!=0)
{
dnum=mnum%10;
sum=sum*10+dnum;
mnum=mnum/10;
}//逆序数算法
temp=sum+temp;
Num[i]=temp;
i++;//作为标记的同时还作为计时器
if(Dudge(temp)==1)//满足情况退出循环
break;
}
printf("%d\n",i-1);
for(k=0;k<i;k++)
{
if(k<i-1)
printf("%d--->",Num[k]);
else
printf("%d\n",Num[k]);
}//输出的格式
}
}
return 0;
}
int Dudge(int num)
{
int dnum=0,temp,mnum;
temp=num;
while(temp!=0)
{
mnum=temp%10;
dnum=dnum*10+mnum;
temp=temp/10;
}//先逆序数
if(dnum==num)//比较逆序数与回文数,若大小一样则返回1,否则返回零
return 1;
return 0;
}
0 0
原创粉丝点击