hevv 发表于 2011-3-6 13:04:16

求解回文数

本帖最后由 hevv 于 2011-3-7 15:52 编辑

所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,求出100—900之间的所有回文数
#include<iostream>
using namespace std;
int main()
{
int Hnum,Tnum,Rnum;         
for(Hnum=100;Hnum<=900;++Hnum)
{   
   Rnum=Hnum;
   Tnum=0;            //记得每次循环后把该值置零!
       do
       {                     
      Tnum=Tnum*10+Rnum%10;      //这里面不可以直接用hnum参与运算,否则它的值就会被改变,导致循环错误!
         Rnum/=10;

   } while(Rnum);

      if(Hnum==Tnum)
    cout<<Hnum<<" ";
}
return 0;
}
这个程序看似简单,但是do-while语句里面的代码却很经典(这个不是我的原创)!

raotf 发表于 2011-3-6 20:01:03

汗……
是在提问不?还隐藏~~

hevv 发表于 2011-3-7 15:51:28

回复 2# raotf


    不隐藏就不隐藏吧!

LNH_Sniper 发表于 2011-4-9 17:15:03

难道不觉得 程序没有执行效率吗?

hevv 发表于 2011-4-9 18:33:30

本帖最后由 hevv 于 2011-4-9 19:11 编辑

回复 4# LNH_Sniper


    那你给点意见!怎么修改
还有 我这个 程序主要是在说明:
do
         {                     
      Tnum=Tnum*10+Rnum%10;      
         Rnum/=10;
      }while(Rnum)!
    这段代码 是我最为喜欢的地方!

紫烟风云 发表于 2013-3-25 16:28:59

没看懂,惭愧惭愧

紫烟风云 发表于 2013-3-25 16:42:18

#include<stdio.h>
#include<math.h>
void main()
{
        int i=1,j=1;
        for(int k=1;k<=20;k++)
        {
                printf("%d %d\n",i,j);
                i=i+j;
                j=i+j;
        }
}

JCSY 发表于 2018-6-6 17:11:02

while循环表示看不懂

Draem 发表于 2020-4-1 17:26:56

紫烟风云 发表于 2013-3-25 16:42


厉害的{:5_108:}

Draem 发表于 2020-4-1 17:27:35

紫烟风云 发表于 2013-3-25 16:42


斐波那契数列! 我竟然看懂了

Draem 发表于 2020-4-1 17:29:41

#include<stdio.h>
int main(void)
{
        int i,j,k;
        for(k = 0;k < 10;k++)
        {
                printf("%d %d\n",i,j);
                i = i + j;
                j = i + j;
        }
}

Draem 发表于 2020-4-1 17:36:11

#include<stdio.h>
int main()
{
int a,b,c,count = 0;         
for(a=100;a<=900;++a)
{   
   c=a;
   b=0;            //记得每次循环后把该值置零!
         do
         {                     
              b=b*10+c%10;      //这里面不可以直接用a参与运算,否则它的值就会被改变,导致循环错误!
                 c/=10;

           } while(c);

      if(a==b)
      {
              count ++;
              printf("%-5d",a);
              if(!(count % 10))
              {
                      putchar('\n');
                }
          }
}
return 0;
}
页: [1]
查看完整版本: 求解回文数