将一个数进行因式分解,比如90=2*3*3*5;
法一:(只能求大于3的数)
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main()
{
int num,k;
printf("input the num(biger than 3):");
scanf("%d",&num);
k=num/2;
printf("%d=",num);
do
{
if(num%k==0)
{
printf("%d*",num/k);
num=k;
k=num/2;
}
else
k--;
if(k==1)
printf("%d\n",num);
}while(k>1);
return 0;
}
法二:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main()
{
int num,i;
printf("input the number:");
scanf("%d",&num);
printf("%d=",num);
for(i=2;i<=num;i++)
{
while(num!=i)
{
if(num%i==0)
{
printf("%d*",i);
num=num/i;
}
else
i++;
}
}
printf("%d",num);
return 0;
}
网友评论