鱼C论坛

 找回密码
 立即注册
查看: 4379|回复: 11

求解回文数

[复制链接]
发表于 2011-3-6 13:04:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 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语句里面的代码却很经典(这个不是我的原创)!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-6 20:01:03 | 显示全部楼层
汗……
是在提问不?还隐藏~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-3-7 15:51:28 | 显示全部楼层
回复 2# raotf


    不隐藏就不隐藏吧!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-9 17:15:03 | 显示全部楼层
难道不觉得 程序没有执行效率吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 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)!
    这段代码 是我最为喜欢的地方!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-3-25 16:28:59 | 显示全部楼层
没看懂,惭愧惭愧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 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;
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2018-6-6 17:11:02 | 显示全部楼层
while循环表示看不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-1 17:26:56 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-1 17:27:35 | 显示全部楼层

斐波那契数列! 我竟然看懂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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;
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-19 10:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表