C语言编程练习--分解质因素(debug)

2018-06-18 04:02:03来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

题目内容:

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

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

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

输出格式:形如: n=axbxcxd    2. n=n所有的符号之间都没有空格,x是小写字母x。

输入样例:18

输出样例:18=2x3x3

时间限制:500ms内存限制:32000kb
 1 /*
 2     题目内容:
 3     1.每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式;
 4     2.这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。
 5     3.输入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。
 6     4.输入格式:一个整数,范围在[2,100000]内。
 7     5.输出格式:形如:n=axbxcxd或n=n所有的符号之间都没有空格,x是小写字母x。
 8     6.输入样例:18
 9     7.输出样例:18=2x3x3 
10 
11     4 = 2x2
12     6 = 2x3
13     8 = 2x2x2
14     9
15     12
16     14
17     15
18     16
19     18
20     20
21 */
22 
23 
24 #include <stdio.h>
25 #include <math.h>
26 
27 int isPrime(int a);
28 int rsUnprime(int a,int b);
29 
30 int main()
31 {
32     int num;
33     int pm = 2;
34     
35     scanf("%d",&num);
36     if(isPrime(num) != 0)
37     {
38         printf("%d=%d",num,num);
39     }else{
40         printf("%d = ",num);
41         while(num != 1){
42             pm = rsUnprime(num,pm);
43             num = num / pm;
44             if(num  != 1){
45                 printf("%dx",pm);
46                 
47             } else{ 
48                 printf("%d",pm);
49             } 
50         }
51         //printf("%d\n",num);
52     }    
53     //return 0;
54 }
55 
56 
57 int isPrime(int a)
58 {
59     int i;
60     int isPrime;
61     
62     for(i = 2; i < a; i++)
63     {
64         if(a % i == 0)
65         {
66             isPrime = 0;
67             break;
68         }else{
69             isPrime = 1;
70         }
71     }   
72     return isPrime;
73 } 
74 
75 int rsUnprime(int a,int b)
76 {
77     int i = b;
78     
79     while(a % i != 0) {
80         i++;
81     }
82     
83     return i;
84 }

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:c语言学生管理系统链表(dev vs2012下可以运行)

下一篇:软件工程(C编码实践篇)学习总结