Pagini recente » Cod sursa (job #2973874) | Cod sursa (job #461415) | Cod sursa (job #379858) | Cod sursa (job #1707294) | Cod sursa (job #2354412)
#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[i]=true;
for(i=2;i<N;i++)
if(!c[i])
{
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=1;i<=b;i++)
d=nrdiv(i);
if(d>minim)
{
minim=d;
nrdmax=i;
cnt=1;
}
else
if(minim==d)
cnt++;
g<<nrdmax<<" "<<minim<<" "<<cnt;
return 0;
}