C语言 分解质因数
不知道哪里错了 哪位大神帮忙瞅瞅!!!题目内容:
每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。
现在,你的程序要读入一个范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。
提示:可以用一个函数来判断某数是否是素数。
输入格式:
一个整数,范围在内。
输出格式:
形如:
n=axbxcxd
或
n=n
所有的符号之间都没有空格,x是小写字母x。abcd这样的数字一定是从小到大排列的。
输入样例:
18
输出样例:
18=2x3x3 #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;
} 我试了好着呀 Krant5 发表于 2017-4-17 19:36
我试了好着呀
我用慕课,然后有个online judge,老是通不过,不知道是什么原因 星若有泪 发表于 2017-4-18 00:05
我用慕课,然后有个online judge,老是通不过,不知道是什么原因
慕课是啥玩意,错误说明呢
页:
[1]