Cod sursa(job #1154404)

Utilizator gapdanPopescu George gapdan Data 26 martie 2014 10:12:07
Problema Pascal Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<cstdio>
using namespace std;
int r,d,nr5,nr2,nr3,i,d3,d2,d5;
int main()
{
    freopen("pascal.in","r",stdin);
    freopen("pascal.out","w",stdout);
    scanf("%d%d",&r,&d);
    while(d%2==0)++d2,d/=2;
    while(d%3==0)++d3,d/=3;
    while(d%5==0)++d5,d/=5;
    nr3=0;nr2=0;nr5=0;
    int numar=0;
    for (i=1;i<=(r-1)/2;++i)
    {
        int x=r-i+1;
        while (x%2==0) ++nr2,x=x/2;
        while (x%3==0) ++nr3,x=x/3;
        while (x%5==0) ++nr5,x=x/5;
        x=i;
        while (x%2==0) --nr2,x=x/2;
        while (x%3==0) --nr3,x=x/3;
        while (x%5==0) --nr5,x=x/5;
        if (nr2>=d2 && nr3>=d3 && nr5>=d5) ++numar;
    }
    numar*=2;
    printf("%d\n",numar);
}