Pagini recente » Cod sursa (job #1543813) | Cod sursa (job #2686059) | Cod sursa (job #680204) | Cod sursa (job #2187173) | Cod sursa (job #2354452)
#include<fstream>
#define N 45000
using namespace std;
ifstream f("maxd.in");
ofstream g("maxd.out");
bool c[45000];
long long prim[45000],np,i,nrdmax,cnt,d,a,b,minim;
void ciur()
{
int i ,j;
for(i=2;i*i<N;i++)
if(!c[i])
for(j=i*i;j<N;j+=i)
c[j]=true;
for(i=2;i<N;i++)
if(c[i]==0)
{
++np;
prim[np]=i;
}
}
long long nrdiv(long long n)
{
int i,k,nr=1;
for(i=1;prim[i]*prim[i]<=n;i++)
{
k=0;
while(n%prim[i]==0)
{
k++;
n=n/prim[i];
}
nr=nr*(k+1);
}
if(n!=1)
nr=nr*2;
return nr;
}
int main()
{
ciur();
f>>a>>b;
for(i=a;i<=b;i++)
{
d=nrdiv(i);
if(d>minim)
{
minim=d;
nrdmax=i;
cnt=1;
}
else
if(minim==d)
cnt++;
}
g<<nrdmax<<" "<<minim<<" "<<cnt;
}