Cod sursa(job #2193187)

Utilizator kitzTimofte Bogdan kitz Data 9 aprilie 2018 11:19:59
Problema Pascal Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>
using namespace std;
long long row;
int divider;


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

    scanf("%lld %d", &row, &divider);
    if (row == 0 || row == 1) {
        printf("0\n");
        return 0;
    }

    long long counter = 0;
    long long ant = 1;
    long long current = 0;
    for (long long k = 0; k < row / 2; k++)
    {
        current = ant * (row - k) / (k + 1);
        if (current % divider == 0) {
            counter += 2;
        }
        ant = current;
    }

    if ( row % 2 == 0) {
        if (current % divider == 0) {
            counter -= 1;
        }
    }

    printf("%lld\n", counter);
    return 0;
}