因式分解是数学中一种常见的计算,也是编程中一种非常常见的编程方法
因式分解是指将一个非质数分解成几个质数的积
如: 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时