C语言编程练习--分解质因素(debug)
2018-06-18 04:02:03来源:未知 阅读 ()
每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。
现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。
输入格式: 一个整数,范围在[2,100000]内。
输出格式:形如: n=axbxcxd 2. n=n所有的符号之间都没有空格,x是小写字母x。
输入样例:18
输出样例:18=2x3x3
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
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 洛谷P1907口算练习题 2020-03-24
- 蓝桥杯练习(入门一) 2020-03-23
- c++-多态的练习 2019-12-22
- c++-构造函数练习和delete,new 2019-12-21
- 【c++primer练习】 typedef与指针、常量和类型别名 2019-11-18
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash