描述
因数:又称为约数,如果整数a除以整数b(
b≠0)的商正好是整数而没有余数,我们就a的因数。
质数:又称为素数,一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。2是最小的质数。
质因数:如果一个数a的因数b同时也是质数,那么
b就是a的一个质因数,例如: 8=2×2×2,2就是8的质因数,12=2×2×3,
2和3就是 12 的质因数。
给定两个正整数N和M(1≤N≤M≤1e7),统计N到M之间 (含N和M) 每个数所包含的质因数的个数,输出其中最大的个数。
例如:当N=6,
M=10,6到10之间
6的质因数是2、3,共有2个
7的质因数是7,共有1个
8的质因数是2、2、2,共有3个
9的质因数是3、3,共有2个
10的质因数是2、5,共有2个
6到10之间的数中质因数最多的是8,质因数有3个,故输出3.
输入描述
输入两个正整数N和M(1≤N≤M≤1e7),两个正整数之间用一个空格隔开
输出描述
输出一个整数,表示质因数个数中的最大值
输入输出样例
输入:6 10
输出:3
代码
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,cnt=0;
scanf("%lld",&n);
for(long long i=2;i<=sqrt(n)&&n>1;i++){
if(n%i==0)
cnt++;
while(n%i==0)
n/=i;
}
if(n>1)
cnt++;
printf("%lld",cnt+1);
return 0;
}