C语言程序设计 输入一个合数进行分解,合数大于1小于10^11,按递增输出合数的质(素)因子。

例如:输入20输出225代表一共有两个质因子,分别是25... 例如:
输入 20
输出 2 2 5
代表一共有两个质因子,分别是 2 5
展开
 我来答
xoaxa
2017-02-04 · TA获得超过8613个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3518万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int IsPrime(int m) {
    int i,flag = 1;
if(m < 2) return 0;
if(m == 2 || m == 3) return 1;
    for(i = 2;flag && i < sqrt(m);i++) {
        if(m % i == 0) flag = 0;
    }
    return flag;
}

void Dissociation_Prime(int n) {
int i,flag = 1;
printf("%d = ",n);
for(i = 2; i < n; ++i) {
if(IsPrime(i) && (n % i == 0)) {
if(flag) {
printf("%d",i);
flag = 0;
}
else printf("×%d",i);
n /= i;
--i;
}
}
if(flag == 0) printf("×%d\n",n);
else if(n) printf("%d\n",n);
}

int main() {
    int i;
    for(i = 12;i <= 30;i++)
Dissociation_Prime(i);
    return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式