Cod sursa(job #248469)
Utilizator | Data | 25 ianuarie 2009 20:38:40 | |
---|---|---|---|
Problema | Pascal | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
# include <stdio.h>
# define nmax 1000
long long R,A[nmax],B[nmax];
int D;
int main(){
long long i,j;
long long nr=0;
freopen("pascal.in", "r", stdin);
freopen("pascal.out", "w", stdout);
scanf("%lld %d",&R,&D);
B[0]=1; B[1]=1;
for (i=2;i<=R;i++){
A[0]=1;B[0]=1;
for (j=1;j<=i+1;j++) {
A[j]=B[j-1]+B[j];
B[j-1]=A[j-1];
}
B[j]=A[j];
}
nr=0;
for (i=1;i<R/2;i++)
if (A[i]%D==0) nr++;
nr=2*nr;
if (A[R/2]%D==0) nr++;
printf("%lld",nr);
return 0;
}