| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 332 人关注过本帖
标题:看似不难?
只看楼主 加入收藏
小鱼漂流
该用户已被删除
收藏
已结贴  问题点数:20 回复次数:4 
看似不难?
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-11 15:22
jcslt
Rank: 8Rank: 8
来 自:90-xx.com
等 级:蝙蝠侠
帖 子:251
专家分:975
注 册:2009-10-10
收藏
得分:20 
回复 楼主 小鱼漂流
你的素数怎么就只有2,3,5,7呢!
最近学算法,给你个效率还可以的吧!
程序代码:
#include  <stdio.h>
#include  <stdlib.h>
#define   MAX  50
#define   SAVE_FAC(fact, exp) { if (exp > 0)                \
                                        fac[count] = fact, \
                                        exps[count++]  = i;    \
                                 }
int main()
{
    int  fac[MAX],exps[MAX];
    int  n, work,count = 0,i, k;

    printf("Input a positive integer:");
    scanf("%d",&n);

    for (i=0,work=n; (work & 0x01UL)==0 && work>1; work>>=1,i++);
    SAVE_FAC(2, i);

    for (k = 3; k <= work; k += 2)
    {
        for (i = 0; work % k == 0 && work > 1; work /= k, i++);
        SAVE_FAC(k, i);
    }

    printf("%d=1", n);
    for (i = 0; i < count; i++)
    {
        while(exps[i]--)
        printf("*%d", fac[i]);
    }
    return 0;
}

www.
2010-05-11 17:36
小鱼漂流
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-13 14:52
冥卫
Rank: 8Rank: 8
来 自:深山老林
等 级:蝙蝠侠
帖 子:280
专家分:772
注 册:2010-4-20
收藏
得分:0 
打酱油路过
2010-05-13 17:38
wu644877373
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:47
专家分:30
注 册:2010-5-11
收藏
得分:0 
我也打酱油的。。。

2010-05-13 22:41
快速回复:看似不难?
数据加载中...
 
   



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

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