因式分解是数学中一种常见的计算,也是编程中一种非常常见的编程方法
因式分解是指将一个非质数分解成几个质数的积
如: 4=2x2 100=2x2x5x5
算法代码:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void main()
{
int num;
scanf("%d",&num);
int num1 = num;
int flag = 1;//标示符标示num是质数
for(int i=2;i<(int)sqrt((double)num);i++)
{
if(0 == (num % i))//如果num不是质数
{
flag = 0;//标示符标示num不是质数
}
}
if(1 == flag)//当num是质数
{
printf("%d是一个质数不能因式分解\n",num);
}
else//当num不是质数
{
printf("%d不是质数\n",num);
printf("%d=",num);
for(int j=2;j<num;j++)//提供质因数
{
while(0 == (num%j))//循环判断质因数
{
if(0 == (num%j))//如果j是num的质因数
{
printf("%dx",j);
}
num = num / j;
}
}
printf("%d\n",num);
}
system("pause");
}
执行结果:
当输入100时
当输入101时