Cod sursa(job #570092)

Utilizator stay_awake77Cangea Catalina stay_awake77 Data 2 aprilie 2011 16:00:17
Problema Pascal Scor 100
Compilator cpp Status done
Runda 105 Marime 0.64 kb
#include<stdio.h>

int N, D, D2, D3, D5, K, Nr, Cnt;

int main()
{
	freopen("pascal.in","r",stdin);
	freopen("pascal.out","w",stdout);

	scanf("%d %d", &N, &D);

	Cnt = 0;
	for( K=1; K<=N/2; K++ )
	{
		Nr = N-K+1;
		for( ; !(Nr%2); Nr/=2, ++D2 );
		for( ; !(Nr%3); Nr/=3, ++D3 );
		for( ; !(Nr%5); Nr/=5, ++D5 );

		Nr = K;
		for( ; !(Nr%2); Nr/=2, --D2 );
		for( ; !(Nr%3); Nr/=3, --D3 );
		for( ; !(Nr%5); Nr/=5, --D5 );

		if( ( D==2 && D2 ) || ( D==3 && D3 ) || ( D==4 && D2>1 ) || ( D==5 && D5 ) || ( D==6 && D2 && D3 ) )
		{
			Cnt += 2;
			if( K==N/2 && !(N%2) ) --Cnt;
		}
	}

	printf("%d\n", Cnt);

	return 0;
}