Pagini recente » Cod sursa (job #607) | Cod sursa (job #3031647) | Cod sursa (job #1912600) | Cod sursa (job #501573) | Cod sursa (job #164378)
Cod sursa(job #164378)
#include <stdio.h>
long long int exps[3], expj[3];
int i, j, k;
int n, d;
int pr[3], nrp;
int exp[3];
int sol;
int main()
{
freopen("pascal.in", "r", stdin);
freopen("pascal.out", "w", stdout);
scanf("%d %d", &n, &d);
if ( d == 2 ) nrp = 1, pr[1] = 2, exp[1] = 1;
if ( d == 3 ) nrp = 1, pr[1] = 3, exp[1] = 1;
if ( d == 4 ) nrp = 1, pr[1] = 2, exp[1] = 2;
if ( d == 5 ) nrp = 1, pr[1] = 5, exp[1] = 1;
if ( d == 6 ) nrp = 2, pr[1] = 2, pr[2] = 3, exp[1] = exp[2] = 1;
for ( i = 0; i < n; i++ )
{
j = n-i;
for ( k = 1; k <= nrp; k++ )
while ( j % pr[k] == 0 ) exps[k]++, j /= pr[k];
j = i+1;
for ( k = 1; k <= nrp; k++ )
while ( j % pr[k] == 0 ) expj[k]++, j /= pr[k];
int ok = 1;
for ( k = 1; k <= nrp; k++ )
if ( exps[k] - expj[k] < exp[k] ) ok = 0;
if ( ok ) sol++;
}
printf("%d\n", sol);
return 0;
}