| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 662 人关注过本帖
标题:求回文数
只看楼主 加入收藏
瓦药墙
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:218
专家分:556
注 册:2009-9-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
求回文数
程序代码:
/*求回文数*/
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define MAX 10000000

int var(int);

int main(void)
{
    int i, j, tem, sum;
    for(i=10;i<MAX;i++)
    {
        sum=0;
        j=var(i);
        tem=i;
        do
        {
            j--;
            sum+=(int)pow(10,j)*(tem%10);
            tem/=10;

        }while(tem!=0);
        if(sum==i)
            printf("%d ",i);
    }

    system("pause>nul");
    return 0;
}
//计算位数
int var(int x)
{
    int i=0;
    while(0!=x)
    {
        i++;
        x/=10;
    }
    return i;
}


如何改进效率?运算时间太长了

qq:413306776   
c语言讨论qq群:111677131
搜索更多相关主题的帖子: 回文 
2010-04-15 16:55
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:0 
能跑?
double pow(double,double)
收到的鲜花
  • 瓦药墙2010-04-15 18:57 送鲜花  2朵   附言:我很赞同
2010-04-15 17:10
mywaylgh
Rank: 8Rank: 8
来 自:厨房
等 级:蝙蝠侠
威 望:5
帖 子:188
专家分:729
注 册:2010-3-10
收藏
得分:20 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#define MAX 10000000

int main()
{
    int i,k,j;
    char  ptr[9];
    int len_ptr=0;
    for (i = 10;i<MAX ;i++ )
    {
        k=i;
        len_ptr=0;
        do
        {
            ptr[len_ptr++]= k%10;
            k /= 10;
        }
        while (k);
        for (j=0;j<len_ptr/2;j++ )
            if (ptr[j]!=ptr[len_ptr-j-1])
                break;
        if (j==len_ptr/2)
            printf("%d ",i);
    }
}

gcc编译
收到的鲜花
  • 瓦药墙2010-04-15 18:58 送鲜花  2朵   附言:我很赞同

人生就像茶几 上面放着许多杯具

人生也像厨房 里面总有一些洗具
2010-04-15 17:29
瓦药墙
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:218
专家分:556
注 册:2009-9-16
收藏
得分:0 
楼上好方法,借鉴了,谢谢
2010-04-15 18:58
快速回复:求回文数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027999 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved