鱼C论坛

 找回密码
 立即注册
查看: 2788|回复: 4

C语言 分解质因数

[复制链接]
发表于 2017-4-16 17:29:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
不知道哪里错了   哪位大神帮忙瞅瞅!!!


题目内容:
每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。

现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。

提示:可以用一个函数来判断某数是否是素数。

输入格式:
一个整数,范围在[2,100000]内。

输出格式:
形如:
n=axbxcxd

n=n
所有的符号之间都没有空格,x是小写字母x。abcd这样的数字一定是从小到大排列的。

输入样例:
18

输出样例:
18=2x3x3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-4-16 17:30:18 | 显示全部楼层
#include <stdio.h>

int isPrime(int a);

int main()
{
    int num;
        scanf("%d",&num);
        int a,b,n;
        n = num;
        b = num;
        a = 2;
        if(num >= 2 && num <= 100000){
                printf("%d=",num);
                if (isPrime(num)){
                        printf("%d",num);
                }else{
                while(a < num){
                                if(b%a == 0){
                                        n /= a;
                                        b = n;
                                        printf("%dx",a);
                                        if(b == 1){
                                                printf("\b "); 
                                                break;
                                        }
                                }else{
                                        a++; 
                                        //b = n;
                                }
                        }        
                } 
}
    return 0;
} 

int isPrime(int a)
{
        int ret = 1;   //是素数
        int i;
        if(a>=2 && a<=100000){
        for( i=2 ; i<a ; i++ ){
                if(a%i == 0){
                        ret = 0;
                        break;
                }
        }
        }
        return ret;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-17 19:36:50 | 显示全部楼层
我试了好着呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-18 00:05:48 From FishC Mobile | 显示全部楼层
Krant5 发表于 2017-4-17 19:36
我试了好着呀

我用慕课,然后有个online judge,老是通不过,不知道是什么原因
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-18 00:51:22 | 显示全部楼层
星若有泪 发表于 2017-4-18 00:05
我用慕课,然后有个online judge,老是通不过,不知道是什么原因

慕课是啥玩意,错误说明呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-18 03:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表