Cod sursa(job #1261279)

Utilizator enedumitruene dumitru enedumitru Data 12 noiembrie 2014 09:55:37
Problema Tricouri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream>
using namespace std;
ifstream f("maxd.in");
ofstream g("maxd.out");
int a,b,nmin,nrdiv,contor,k,p[5200],w[50001];
void ciur(int n)
{	p[1]=2; k=1;
	for(int i=3; i*i<=n; i+=2)
		if(w[i]==0) for(int j=i+i; j<=n; j+=i) w[j]=1;
	for(int i=3; i<=n; i+=2) 
		if(w[i]==0) p[++k]=i;
}
int main()
{	f>>a>>b;
	ciur(50001);
	int i,j,n;
	for(i=a;i<=b;i++)
	{	n=i;
		int nr=1; j=1;
		while(p[j]*p[j]<=n)
		{	int e=0;
			while(n%p[j]==0) {n/=p[j]; e++;}
			nr*=(e+1);
			j++;
		}
		if(n>1) nr*=2;
		if(nrdiv<nr) nrdiv=nr, nmin=i, contor=1;
			else if(nrdiv==nr) contor++;
	}
	g<<nmin<<" "<<nrdiv<<" "<<contor<<'\n'; g.close(); return 0;
}