数学建模社区-数学中国

标题: 【C讨论组】 回文数的形成(附代码) 自己编的程序,讨论一下,有什么改进的地方 [打印本页]

作者: sea_star666    时间: 2011-4-30 23:07
标题: 【C讨论组】 回文数的形成(附代码) 自己编的程序,讨论一下,有什么改进的地方
回文数的形成(附代码)


自己编的程序,讨论一下,有什么改进的地方
平台VC 6.0


任给一个十进制整数,将其到过来后与原来的整数相加,得到一个新的整数后重复以上步骤,则最终可得到一个回文数。


回文数的这一形成目前还属于一个猜想,尚未获得数学上的证明,有些回文数要经历上百个步骤才能获得。这里通过编程验证

  1. #include <stdio.h>

  2. long int re(long int a);
  3. long int palindrome(long int a);
  4. int main()
  5. {
  6.         long int Num;
  7.         int i=1;
  8.         printf("Please input the number you want.\n");
  9.         scanf("%d",&Num);
  10.         while(!palindrome(Num))
  11.         {
  12.                
  13.                 printf("[%d]:%ld+%ld=%ld\n",i++,Num,re(Num),Num+re(Num));   //print the process to get the palindrome
  14.                 Num=Num+re(Num);
  15.         }
  16.         printf("The result is %ld\n",Num);



  17.         return 0;
  18. }

  19. long int re(long int a)   //This the function used to reverse a num
  20. {
  21.         long int t=0;
  22.         for(t=0;a>0;a/=10)
  23.                 t=t*10+a%10;
  24.         return t;
  25. }

  26. long int palindrome(long int a)  //To judge whether (long int)a is a palindrome or not
  27. {
  28.         if(a==re(a))
  29.                 return 1;
  30.         else
  31.                 return 0;

  32. }
复制代码




作者: shuidishenyu    时间: 2012-8-16 14:50
程序正确,可是我不知道你是怎么让它回文的。
作者: shuidishenyu    时间: 2012-8-16 14:57
请问楼主这一原理目前有什么应用吗,或者还处于理论阶段?




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5