Cod sursa(job #244401)

Utilizator drag0s93Mandu Dragos drag0s93 Data 14 ianuarie 2009 23:16:11
Problema Divizori Primi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<stdio.h>
const int N=1000000;
int a,b;
bool c[N];
void ciur()
{
	int j=0;
	for(int i=2;i<=N;++i)
		if(c[i]==false)
			for(j=i+i;j<=N;j+=i)
				c[j]=true;
}
int main()
{
	int ndiv=0;
	freopen("ndiv.in","r",stdin);
	freopen("ndiv.out","w",stdout);
	scanf("%d%d",&a,&b);
	ciur();
	for(;a<=b;++a)
	{
		if(c[a]==false)
			ndiv+=2;
		else 
			for(int i=1;i*i<=a;++i)
			{
				if(i*i!=a && a%i==0)
					ndiv+=2;
				else if(i*i==a && a%i==0)++ndiv;
			}
	}
	printf("%d",ndiv);
	return 0;
}