| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8284 人关注过本帖, 1 人收藏
标题:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
取消只看楼主 加入收藏
zmhdxy
Rank: 1
等 级:新手上路
帖 子:452
专家分:0
注 册:2007-9-27
收藏(1)
 问题点数:0 回复次数:4 
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
下面有两种方法 我想高手能给出更好的方法
#include<stdio.h>
int zhishu(int n)
{
    int i;
    for(i=2;i<=n/2;i++)
        if(n%i==0) return 1;
        if(i>n/2) return 0;
}
void main()
{
    int i,n;
    printf("请输入一个整数:\n");
    scanf("%d",&n);
        if(!zhishu(n)) printf("你输入的是质数:%d=1*%d\n",n,n);
        else
        {
        printf("%d=",n);
        do
                {

                    for(i=2;i<=n/2;i++)
                            if(n%i==0)
                            {
                                printf("%d*",i);
                                n=n/i;
                                break;
                            }
                }
        while(zhishu(n));
        printf("%d\n",n);
        }
}





#include<stdio.h>
void main()
{
    int n,i;
    printf("please input a number:");
    scanf("%d",&n);
    printf("%d=",n);
    for(i=2;i<=n;i++)
    {
        while(n!=i)
        {
            if(n%i==0)
            {
                printf("%d*",i);
                n=n/i;
            }
            else break;
        }
    }
    printf("%d\n",n);
}
搜索更多相关主题的帖子: 质因数 整数 分解 打印 输入 
2007-12-11 22:42
zmhdxy
Rank: 1
等 级:新手上路
帖 子:452
专家分:0
注 册:2007-9-27
收藏
得分:0 
不可能的 我是测试过才发上来的 我刚才也测试过了 对的
有zhishu()是来判断质数的 也就是当n为质数时就跳出来结束

2007-12-12 12:33
zmhdxy
Rank: 1
等 级:新手上路
帖 子:452
专家分:0
注 册:2007-9-27
收藏
得分:0 
用别的方法写

2007-12-12 17:33
zmhdxy
Rank: 1
等 级:新手上路
帖 子:452
专家分:0
注 册:2007-9-27
收藏
得分:0 
本人脑子的细胞有限 想不到别的

2007-12-12 17:34
zmhdxy
Rank: 1
等 级:新手上路
帖 子:452
专家分:0
注 册:2007-9-27
收藏
得分:0 
谢谢 谢谢

2007-12-12 23:00
快速回复:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
数据加载中...
 
   



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

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