Cod sursa(job #5466)

Utilizator webspiderDumitru Bogdan webspider Data 12 ianuarie 2007 16:31:23
Problema Pascal Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <iostream>

using namespace std;

short put[5000001][7];
int k,d;
int i,j;
int x,nr;


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

	scanf("%d %d\n", &k, &d);

	for ( i = 1; i <= k; i++ )
	{
		for ( j = 2; j <= 6; j++ )
		{
			put[i][j] = put[i-1][j];
			x=i;
			while ( x%j == 0 )
			{
				put[i][j] += 1;
				x=x/j;
			}
		}
	}
	for ( i = 1; i <= k; i++ )
	{
		if ( d == 2 ) 
			if ( put[k][2] - ( put[k-i][2] + put[i][2] ) > 0 )
				nr++;
		
		if ( d == 3 )
			if ( put[k][3] - ( put[k-i][3] + put[i][3] ) > 0 )
				nr++;

		if ( d == 4 )
			if ( put[k][2] - ( put[k-i][2] + put[i][2] ) > 1 )
				nr++;

		if ( d == 5 )
			if ( put[k][5] - ( put[k-i][5] + put[i][5] ) > 0 )
				nr++;
		if ( d == 6 )
			if ( put[k][2] - ( put[k-i][2] + put[i][2] ) > 0 && put[k][3] - ( put[k-i][3] + put[i][3] ) > 0 )
				nr++;
	}

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

	fclose(stdout);
	fclose(stdin);

	return 0;
}