Cod sursa(job #799375)

Utilizator Alexandru098Costea Vlad Alexandru098 Data 18 octombrie 2012 20:27:35
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<stdio.h>

int r,d,i;
int preg2[5000005],preg3[5000005],preg5[5000005],s,x2,x3,x5;


int main()
{
	freopen("pascal.in","r",stdin);
	freopen("pascal.out","w",stdout);
	scanf("%d%d",&r,&d);
	for(i=1;i<=5000005;i++)
	{
		if(i%2==0)
		{
			preg2[i]=preg2[i/2]+1;
		}
		if(i%3==0)
		{
			preg3[i]=preg3[i/3]+1;
		}
		if(i%5==0)
		{
			preg5[i]=preg5[i/5]+1;
		}
	}
	s=0;
	for(i=1;i<=r;i++)
	{
		x2=x2+preg2[r-i+1]-preg2[i];
		x3=x3+preg3[r-i+1]-preg3[i];
		x5=x5+preg5[r-i+1]-preg5[i];
		if(d==2)
		{
			if(x2)
			{
				s++;
			}
		}
		if(d==3)
		{
			if(x3)
			{
				s++;
			}
		}
		if(d==4)
		{
			if(x2>1)
			{
				s++;
			}
		}
		if(d==5)
		{
			if(x5)
			{
				s++;
			}
		}
		if(d==6)
		{
			if(x2)
			{
				if(x3)
				{
					s++;
				}
			}
		}
		
	}
	printf("%d",s);
	return 0;
}