鱼C论坛

 找回密码
 立即注册
查看: 3381|回复: 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
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

  2. int isPrime(int a);

  3. int main()
  4. {
  5.     int num;
  6.         scanf("%d",&num);
  7.         int a,b,n;
  8.         n = num;
  9.         b = num;
  10.         a = 2;
  11.         if(num >= 2 && num <= 100000){
  12.                 printf("%d=",num);
  13.                 if (isPrime(num)){
  14.                         printf("%d",num);
  15.                 }else{
  16.                 while(a < num){
  17.                                 if(b%a == 0){
  18.                                         n /= a;
  19.                                         b = n;
  20.                                         printf("%dx",a);
  21.                                         if(b == 1){
  22.                                                 printf("\b ");
  23.                                                 break;
  24.                                         }
  25.                                 }else{
  26.                                         a++;
  27.                                         //b = n;
  28.                                 }
  29.                         }       
  30.                 }
  31. }
  32.     return 0;
  33. }

  34. int isPrime(int a)
  35. {
  36.         int ret = 1;   //是素数
  37.         int i;
  38.         if(a>=2 && a<=100000){
  39.         for( i=2 ; i<a ; i++ ){
  40.                 if(a%i == 0){
  41.                         ret = 0;
  42.                         break;
  43.                 }
  44.         }
  45.         }
  46.         return ret;
  47. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-17 19:36:50 | 显示全部楼层
我试了好着呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

我用慕课,然后有个online judge,老是通不过,不知道是什么原因
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

慕课是啥玩意,错误说明呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 03:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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