Pagini recente » Cod sursa (job #3250290) | Cod sursa (job #44774) | Cod sursa (job #1975539) | Cod sursa (job #1486928) | Cod sursa (job #1936055)
#include <fstream>
using namespace std;
ifstream cin("maxd.in");
ofstream cout("maxd.out");
int nrdiv(int n)
{
int d,p,nrd=1;
d=2;
while(d*d<=n)
{
if(n%d==0)
{
p=0;
while(n%d==0)
{
p++;
n/=d;
}
nrd*=(p+1);
}
d++;
}
if(n!=1)
nrd*=2;
return nrd;
}
int ciur[2000001];
int main()
{
int a,b,i,cnt=0,valmin,maxi=0,pas=1;
cin>>a>>b;
ciur[1]=0;
for(i=2;i*i<=2000000;i++)
{
if(ciur[i]==0)
{
for(int j=i*i;j<=2000000;j+=i)
ciur[j]++;
}
}
for(i=a;i<=b;i++)
{
if(ciur[i]>0)
maxi=max(maxi,nrdiv(i));
}
for(i=a;i<=b;i++)
{
if(ciur[i]>0)
{if(pas==1&&nrdiv(i)==maxi)
{valmin=i;
pas--;
cnt++;
}
else if(pas==0)
{
if(nrdiv(i)==maxi)
cnt++;
}}
}
cout<<valmin<<" "<<maxi<<" "<<cnt;
return 0;
}