标题C语言-质因数分解
学习的第4天,关于质因数分解,翁凯老师的第五周第一个题目:
输入格式:
一个整数,范围在[2,100000]内。
输出格式:
形如:
n=axbxcxd
或
n=n
所有的符号之间都没有空格,x 是小写字母x。
输入样例:
18
输出样例:
18=2x3x3
毕竟刚学,写的有点渣,哈哈~
代码如下
#include <stdio.h>
int fj(int number);
int pd(int number);
int main(void)
{
//把number分解并把I输出出来
int number,i,t;
printf("输入一个【2,100000】的整数:");
scanf("%d",&number);
pd(number);
return 0 ;
}
//把所有的因数求出来 ,并输出成n=axbxc
int fj(int number)
{
int i;
printf("%d=",number) ;
for (i=2;i<=number;i++)
{
if( number % i ==0)
{
//printf("%dx",i);
if(number ==i )
{
printf("%d\n",i);
}
else
{
printf("%dx",i);
}
number = number /i;
i=2;
}
}
}
//判断数字是否是素数 ,是素数输出n=n不是素数输出fj这个函数
int pd(int number)
{
int i,a;
a=0;
for (i=2;i<number;i++)
{
if ( 0 == number % i)
{
a=1;
}
}
if( a == 0)
{
printf("%d=%d\n",number,number);
}
else
{
fj(number);
}
}