| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1194 人关注过本帖
标题:我想输出m,n之间的正整数的质因式,但不知道哪错了,求解答
只看楼主 加入收藏
望角的期盼
Rank: 2
等 级:论坛游民
帖 子:16
专家分:13
注 册:2013-3-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:14 
我想输出m,n之间的正整数的质因式,但不知道哪错了,求解答
#include<stdio.h>
int main()
{
 int m,n,k,i=2;
 scanf("%d%d",&m,&n);
 for(k=m;k<=n;k++)
    {
     while(k!=1)   
     {
        while(k%i==0)
     {
        if(k/i!=1)
        printf("%d*",i);
        else
        printf("%d\n",i);
        k=k/i;
     }
     i++;
     }
}
 printf("\n");
 return(0);
}   

搜索更多相关主题的帖子: 正整数 
2013-03-23 13:42
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:4 
看看问题蛮多。

www.qunxingw.wang
2013-03-23 14:44
小xiong
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:388
专家分:1722
注 册:2013-2-8
收藏
得分:4 
while(k!=1)   
     {
        while(k%i==0)//k%i!=0
     {
        if(k/i!=1)
        printf("%d*",i);
        else
2013-03-23 16:29
血舞生
Rank: 2
等 级:论坛游民
帖 子:19
专家分:10
注 册:2013-3-19
收藏
得分:4 
题目都不对,你程序写的是m,n之间的质数,而不是质因式
收到的鲜花
2013-03-23 16:32
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:0 
调试了下,
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int m,n,k,j,i;
scanf("%d,%d",&m,&n);
for(j=m;j<=n;j++)
    {
      k=j;
    i=2;
     while(k!=1)  
     {
        while(k%i==0 )
     {
        if(k/i!=1)
        printf("%d*",i);
        else
        printf("%d\n",i);
        k=k/i;
     }
     i++;
     }
}
printf("\n");
system("pause");
return(0);
}    
收到的鲜花

www.qunxingw.wang
2013-03-23 16:49
望角的期盼
Rank: 2
等 级:论坛游民
帖 子:16
专家分:13
注 册:2013-3-23
收藏
得分:0 
回复 楼主 望角的期盼
谢了哈。
2013-03-23 19:33
望角的期盼
Rank: 2
等 级:论坛游民
帖 子:16
专家分:13
注 册:2013-3-23
收藏
得分:0 
回复 5楼 qunxingw
谢了哈。
2013-03-23 19:44
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:4 
这是我把你的程序改了一下~  效果不错
程序代码:
#include<stdio.h>
int main()
{
    int m,n,k,i=2,j;

    printf("please input two integers:");
    scanf("%d%d",&m,&n);

    for(k=m;k<=n;k++)
    {  
        printf("%4d:",k);
        j=k;
        for(i=2;i<=j;)
        {
            if(j%i==0)
            {
                j=j/i;
                printf("%d",i);
                if(j!=1)
                    printf("*");
            }
            else
                goto loop;
            continue;
            loop:i++;
        }
        printf("\n");
    }
    return 0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 韶志 于 2013-3-23 19:56 编辑 ]
收到的鲜花

三十年河东,三十年河西,莫欺少年穷!
2013-03-23 19:53
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
我输出的是质因式,你要的是因数还是质因子还是质因式?

三十年河东,三十年河西,莫欺少年穷!
2013-03-23 19:54
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
5楼的程序很好,与他的相比,我的还略显麻烦

三十年河东,三十年河西,莫欺少年穷!
2013-03-23 20:44
快速回复:我想输出m,n之间的正整数的质因式,但不知道哪错了,求解答
数据加载中...
 
   



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

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