Cod sursa(job #940239)

Utilizator gbi250Gabriela Moldovan gbi250 Data 15 aprilie 2013 21:04:23
Problema Pascal Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>
using namespace std;
int r, nr, d, i, exp[6];

void exponent()
{
    int x;
    x=r-i+1;
    while(x%2==0)
        exp[2]++, x/=2;
    while(x%3==0)
        exp[3]++, x/=3;
    while(x%5==0)
        exp[5]++, x/=5;
    x=i;
    while(x%2==0)
        exp[2]--, x/=2;
    while(x%3==0)
        exp[3]--, x/=3;
    while(x%5==0)
        exp[5]--, x/=5;
    exp[6]= (exp[2]<exp[3]) ? exp[2] : exp[3];
    exp[4]=exp[2]/2;

    if(exp[d]>=1)
        nr++;
}

int main()
{

    freopen("pascal.in", "r", stdin);
    freopen("pascal.out", "w", stdout);
    scanf("%d %d", &r, &d);
    for(i=1;i<=r/2;++i)
        exponent();
    if(r%2==0&&nr)
        printf("%d\n", 2*nr-1);
    else
        printf("%d\n", 2*nr);
    return 0;
}