问题描述
求出区间[a,b]中所有整数的质因数分解。
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int a,b;
int k;
int j;
int num;
cin>>a>>b;
for(int i=a;i<=b;i++)
{
printf("%d=",i); //先输出要找的每一个数;
num=i; //设置好循环的的那一个数
j=2; //素数的检查,从2开始
while(1)
{
for(j=2;j<num;j++)
{
if(num%j==0&&num!=j)
{
printf("%d*",j);
num=num/j;
break; //每次得到一个质因数以后,就退出循环重新寻找素数因数
}
} //如果没有找到素数解,那么就只剩下本身了,此时j刚好++到本身的位置
if(num==j)
break; //退出while循环,出去输出本身
}
printf("%d\n",num);
}
}