CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

求95858的下一个对称数

楼主jsxyhelu(禾路)2005-08-03 21:20:04 在 C/C++ / C语言 提问

所谓的对称数就是从左读从右读是一样的  
  我写了一个。但自己觉得别扭,不知大家能否指点一下(对了,这个是电脑报30期的题目—)  
   
  #include"studio.h"  
  main()  
  int   i,ii,ih,it,iT,im;/*用来表示个十百千万为上的数值   .*/  
  int   tmp;/*路程   */  
  float   speed;/*速度   */  
  {for   (i=95859;i<100000;i++)   /*估计其数值小于100000*/  
  {ii=i%10;  
  it=i%100-ii;  
  ih=i%1000-it-ii;  
  iT=i%10000-ih-it-ii;  
  im=i/10000;  
  if       im=ii&&it=iT  
  tmp=i;  
  break;  
  }  
  speed=tmp/2;  
  printf("long:%dspeed%f/n",tmp,speed);  
  } 问题点数:20、回复次数:4Top

1 楼LoveYouJustOneDay(哈哈)回复于 2005-08-03 21:27:59 得分 4

这个效率非常低  
   
   
  先设计一个函数   f(n)   得到从   1   开始的第   n   个回文数的字符串(有通项公式)  
   
  用增倍查找法确定   95859   的下标号   即   f(x)   =   "95859"  
  然后直接   输出f(x+1)  
   
  Top

2 楼jiajun2001(Jagen(嘉俊))回复于 2005-08-03 22:06:53 得分 8

这个其实比较简单  
  你会发现有这样一个特点  
  95859  
  95959  
  96069  
  96169  
  96269  
  96369  
  也就是说你只需递增从左2,3位就可以了,将1,2位换位后放在后面就可以了  
  代码如下  
  #include   <stdio.h>  
   
  int   main(   int   argc,   char   *argv[]   )  
  {  
  int   i   =   58;  
  char   num[6]   =   {0};  
  for   (   ;i   <   100;   i++   )  
  {  
  sprintf(   num,   "9%d",   i   );  
  num[4]   =   num[0];  
  num[3]   =   num[1];  
  printf(   "%s\n",   num   );  
  }  
  return   0;  
  }  
  Top

3 楼jiajun2001(Jagen(嘉俊))回复于 2005-08-03 22:08:30 得分 0

这个求出了95859,及其以后的直到100000的所有对称数。Top

4 楼qingyuan18(zealot_tang)回复于 2005-08-03 22:29:02 得分 8

for(int   i=95895;;i++)  
  {  
      int   flag   =   0;  
      char   tmp[10];  
      itoa(i,tmp,10);  
      int   len   =   strlen(tmp);  
      for(int   i=0;i<len/2;i++)  
      {  
          if(*(tmp+i)   !=   *(tmp+len-i-1))  
          {  
              flag   =   1;  
              break;    
          }  
      }  
      if(flag   ==   0)  
      {  
          printf("the   next   nummber   after   95859   is   %d",i);  
          break;  
        }    
       
       
       
  }Top

相关问题

  • 求对称数
  • 对称幻方计数问题
  • 整数是否为对称数(华为的比试题目)
  • 新手面试题,判断一个整数是否是对称数?
  • 【数学题】谁知道函数y=sin2x+tgx的图像关于什么对称?
  • 请教分析二维对称数组压缩存储的地址问题?
  • 对称穿线树************!!!!!!!!!!!!!********************
  • 数据加密,非对称性,比如说RAS,给出实现类及用法者至少200分,SSL也行,只要方法可行就是100分!
  • 对称加密同解密的问题!!!
  • RSA-非对称加密算法实现

关键词

  • 对称数
  • main
  • char

得分解答快速导航

  • 帖主:jsxyhelu
  • LoveYouJustOneDay
  • jiajun2001
  • qingyuan18

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo