| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 1199 人关注过本帖
标题:求助一道算法题目
收藏  订阅  推荐  打印 
hwg1123
Rank: 1
等级:新手上路
帖子:7
积分:172
注册:2008-1-18
求助一道算法题目

题目是 :从终端任意输入一个正整数,对该数分解质因数并打印出来。例如输入90,打印出  90=2*3*3*5
搜索更多相关主题的帖子: 算法  质因数  打印  
2008-1-18 09:11
hwg1123
Rank: 1
等级:新手上路
帖子:7
积分:172
注册:2008-1-18

自己先顶一下,希望会的能帮小弟一个忙,快要考试了
2008-1-18 09:17
linsua
Rank: 3Rank: 3
等级:中级会员
帖子:275
积分:3186
注册:2008-1-2

原帖由 [bold][underline]hwg1123[/underline][/bold] 于 2008-1-18 09:17 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1182906&ptid=197862][/url]
自己先顶一下,希望会的能帮小弟一个忙,快要考试了
正在考试?

如果你对我的话感到再明白不过 那恐怕你是误解了我的意思
2008-1-18 10:17
hwg1123
Rank: 1
等级:新手上路
帖子:7
积分:172
注册:2008-1-18

还没 ,明天考
2008-1-18 10:38
linsua
Rank: 3Rank: 3
等级:中级会员
帖子:275
积分:3186
注册:2008-1-2

大一时的练习题,复杂度大了点,能用就是 ,也没注解。
程序代码:
#include<stdio.h>

void defact(int y)
{
     int is_first=1,factor=1;
     do{
        if(y%factor==0&&factor!=1){
            if(is_first){
                printf("%d=%d",y,factor);
                is_first=0;
            }
            else
                printf("*%d",factor);
            y/=factor;
        }
        else
            ++factor;
    }while(y>1);
}

int main()
{
    int n;
    scanf("%d",&n);
    defact(n);
    return 0;
}

如果你对我的话感到再明白不过 那恐怕你是误解了我的意思
2008-1-18 11:26
sunkaidong
Rank: 12Rank: 12Rank: 12
来自:南京师范大学
等级:版主
威望:4
帖子:4128
积分:44851
注册:2006-12-28

#include<stdio.h>
main()
{
    int data,i1=0,j=2;
    int a[1000]={0};
    int i;
    printf("请输入一个整数:");
    scanf("%d",&data);
    fflush(stdin);
    do
    {
        if(data%j==0)
        {
            data=data/j;
            a[i1++]=j;
            j=2;
        }
        else
            j++;
    }while(data!=1);
    for(i=0;i<i1;i++)
    printf("a[%d]=%d,",i,a[i]);

}
自己动手啊.加油啊
2008-1-18 11:46
hwg1123
Rank: 1
等级:新手上路
帖子:7
积分:172
注册:2008-1-18

#include<stdio.h>
#include<math.h>
void main()
{
    long int i,k,m;
    scanf("%ld,&m,);
    i=m;
        printf("%ld= ",i);
    k=2;
        while(k<=sqrt(i))
        {
        if(i%k==0)
            {
        i=i/k;break;}
            printf("%ld",k);
            printf("*");
        k++;
        }
        printf("%ld",m)


这是我自己写的,不知道有那些错了
2008-1-18 12:21
sunkaidong
Rank: 12Rank: 12Rank: 12
来自:南京师范大学
等级:版主
威望:4
帖子:4128
积分:44851
注册:2006-12-28

我的思路和你的差不多啊,你看看我上面写的程序啊..
2008-1-18 12:24
hwg1123
Rank: 1
等级:新手上路
帖子:7
积分:172
注册:2008-1-18

好的~~~
2008-1-18 12:36
hwg1123
Rank: 1
等级:新手上路
帖子:7
积分:172
注册:2008-1-18

fflush(stdin);
你这个放在那里有什么作用撒?
你用数组来存放数据,值得学习
2008-1-18 12:41
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.049322 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved