题目:给定两个正整数N和M(1≤N≤M≤1e7),统计N到M之间(含N和M)每个数所包含的质因数的个数,输出其中最大的个数。
我的代码:
#include <iostream>
#include <cstring>
#include <iomanip>
using namespace std;
int prime(int n){
int i;
for(i=2;i*i<=n;i++){
if(n%i==0){
return 0;
break;
}
}
return 1;
}
int main(){
int n,m,cnt=0;
cin>>n>>m;
for(int i=n;i<=m;i++){
int sum=0;
cnt=max(sum,cnt);
for(int j=1;j<=i;j++){
if(i%j==0&&prime(j)==1){
sum++;
}
}
}
cout<<cnt;
return 0;
}
求挑错