Pagini recente » Cod sursa (job #1877027) | Cod sursa (job #2278180) | Cod sursa (job #685167) | Cod sursa (job #1111171) | Cod sursa (job #1210284)
#include <stdio.h>
#define MAXR 5000000
int factor[MAXR + 1];
char divi(int a, int b){
int rez = 0;
while(a % b == 0){
rez++;
a /= b;
}
return rez;
}
void fct(int r, int d){
if(d == 4) d = 2;
if(d == 6) d = 3;
int i;
for(i = 1; i <= r; i++){
factor[i] = factor[i - 1] + divi(i, d);
}
return ;
}
int main(){
FILE *in = fopen("pascal.in", "r");
int r, d;
fscanf(in, "%d%d", &r, &d);
fclose(in);
fct(r, d);
int i, rez = 0;
for(i = 0; i <= r; i++){
if(factor[r] - factor[i] - factor[r - i] > 0) rez++;
}
FILE *out = fopen("pascal.out", "w");
fprintf(out, "%d", rez);
fclose(out);
return 0;
}