Cod sursa(job #177298)

Utilizator mihai_floreaFlorea Mihai Alexandru mihai_florea Data 12 aprilie 2008 17:28:04
Problema Pascal Scor 40
Compilator c Status done
Runda Arhiva de probleme Marime 1 kb
#include <stdio.h>
int n,d,i,j,k,m,t,nr;
int main(){
    freopen("pascal.in","r",stdin);
    freopen("pascal.out","w",stdout);
    scanf("%d %d",&n,&d);
    if (n<=1) {printf("0");
               return 0;} 
    m=(n-1)/2;
    if (d==2 || d==3 || d==5){
             k=0;
             for (i=1;i<=m;++i){
                 j=n-i+1;t=0;
                 while (j%d==0) {++t;
                                 j/=d;}
                 j=i;
                 while (j%d==0) {--t;
                                 j/=d;}
                 k+=t;
                 if (k>0)  ++nr;
                 }
             nr*=2;
             if (n%2==0) {
                j=n/2+1;t=0;
                while (j%d==0) {++t;
                                j/=d;}
                j=n/2;
                while (j%2==0) {t--;
                                j/=d;}
                if (k>0) ++nr;                
                }
                     
             }      
    printf("%d",nr);
    return 0;
    }