Cod sursa(job #2763011)

Utilizator Bogdan.paun50Mandresi Bogdan Bogdan.paun50 Data 11 iulie 2021 02:21:57
Problema Pascal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>

using namespace std;

ifstream fin("pascal.in");
ofstream fout("pascal.out");

int d2, d3, d5, p2, p3, p5;

int r, d, nr, sol;

int main () {
    fin >> r >> d;
    while(d%2 == 0)
        {d2++; d/=2;}
    while(d%3 == 0)
        {d3++; d/=3;}
    while(d%5 == 0)
        {d5++; d/=5;}
    for(int i = 1; i < (r+2)/2; i++) {
        int n = r - i + 1;
        while(n%2 == 0)
            {p2 += 1; n /= 2;}
        while(n%3 == 0)
            {p3 += 1; n /= 3;}
        while(n%5 == 0)
            {p5 += 1; n /= 5;}
        n = i;
        while(n%2 == 0)
            {p2 -= 1; n /= 2;}
        while(n%3 == 0)
            {p3 -= 1; n /= 3;}
        while(n%5 == 0)
            {p5 -= 1; n /= 5;}
        if(p2 >= d2 && p3 >= d3 && p5 >= d5)
            sol++;
    }
    sol *= 2;
    if(r%2 == 0)
        sol--;
    fout << sol;
    return 0;
}