Cod sursa(job #167824)

Utilizator savimSerban Andrei Stan savim Data 30 martie 2008 11:22:51
Problema Pascal Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <stdio.h>
int i,j,nr,n,d,f2,f3,f5,k;
int main()
{
    freopen("pascal.in","r",stdin);
    freopen("pascal.out","w",stdout);

    scanf("%d %d",&n,&d);
    f2=0;f3=0;
    for (i=1; i<=n; i++)
    {
        //adaugare
        k=n-(i-1);
        while (k%2==0)
        {
            k=k/2;
            f2++;
        }
        while (k%3==0)
        {
            k=k/3;
            f3++;
        }
        while (k%5==0)
        {
            k=k/5;
            f5++;
        }

        //reducere
        k=i;
        while (k%2==0)
        {
            k=k/2;
            f2--;
        }
        while (k%3==0)
        {
            k=k/3;
            f3--;
        }
        while (k%5==0)
        {
            k=k/5;
            f5--;
        }

        if (d==2) if (f2>0) nr++;
        if (d==3) if (f3>0) nr++;
        if (d==4) if (f2>1) nr++;
        if (d==5) if (f5>0) nr++;
        if (d==6) if (f2>0 && f3>0) nr++;
    }

    printf("%d\n",nr);

    return 0;
}