Cod sursa(job #27404)

Utilizator marius135Dumitran Adrian Marius marius135 Data 6 martie 2007 13:37:40
Problema Pascal Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>

long v[8];

void add(long a)
{
	while(a%2==0) {++v[2];a/=2;}
	while(a%3==0) {++v[3];a/=3;}
	while(a%5==0) {++v[5];a/=5;}
}
void scoate(long a)
{
	while(a%2==0) {--v[2];a/=2;}
	while(a%3==0) {--v[3];a/=3;}
	while(a%5==0) {--v[5];a/=5;}
}


int main()
{
	freopen("pascal.in","rt",stdin);
	freopen("pascal.out","w",stdout);
	long i,n,d,nr=0;
	scanf("%ld%ld",&n,&d);
	for(i=1;i<=n;i++)
		{
		add(n-i+1);
		scoate(i);
		if(d==2) if(v[2]) {nr++;continue;}
		if(d==3) if(v[3]) {nr++;continue;}
		if(d==4) if(v[2]>1) {nr++;continue;}
		if(d==5) if(v[5]) {nr++;continue;}
		if(d==6 && v[2] && v[3]) nr++;
		}
	
	printf("%ld\n",nr);
	
	
	
	return 0;
}