最多约数问题。正整数x 的约数是能整除x的正整数,其约数的个数记为div(x),例如div(10)=4。设a 和b 是两个正整数,找出a 和b 之间约数个数最多的数x 的约数个数。
样例输入:
136
样例输出:
9
#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
int isprime(int n)
{
for(int i=2;i<(n/2)+1;i++)
{
if(n%i==0)
{
return 0;
}
}
return 1;
}
int main()
{
int a,b,temp;
int cnt=0,mx=-1;
cin>>a>>b;
for(int i=a;i<=b;i++)
{
temp=i;
int result=1;
for(int j=2;j<i;j++)
{
if(isprime(j))
{
cnt=0;
while(temp%j==0)
{
cnt++;
temp/=j;
}
result*=cnt+1;
}
}
if(result>mx)
{
mx=result;
}
}
cout<<mx;
return 0;
}