#include <iostream>
#include <string.h>
using namespace std;
bool is_prime(int n){ //判断是否是素数
if(n<2) return false;
for(int i=2;i<=n/i;i++){
if(n%i==0) return false;
}
return true;
}
int main(){
int a,b;
cin>>a>>b;
for(int i=a;i<=b;i++)
{
int temp=i;
if(is_prime(temp)){
printf("%d=%d\n",i,i);
}
else{
printf("%d=",i);
for(int j=2;j<=temp;j++) //遍历该数的所有因子
{
while(temp%j==0) //把j这个因子除尽
{
cout<<j;
temp/=j; //边得到因子边除,减小for计算次数
if(temp!=1){ //temp==1表示除完了
cout<<"*";
}
}
}
cout<<endl;
}
}
return 0;
}
//一边找因子一边把大数除下来,因子可能重复,用while很巧妙
东华oj 10.分解质因数
最新推荐文章于 2024-10-02 22:25:35 发布