Pagini recente » Cod sursa (job #982185) | Cod sursa (job #1672742) | Cod sursa (job #2967669) | Cod sursa (job #2984058) | Cod sursa (job #347542)
Cod sursa(job #347542)
#include <stdio.h>
#include <math.h>
#define Nmax 100005
#define Mmax 1000000001
#define Dmax 12
int edc[Dmax],edm[Dmax],dm[Dmax],zdm;
int n,m;
int sol;
void baga(int x,int s){
int i;
for(i=1;i<=zdm;++i)
while(x % dm[i] == 0){
x /= dm[i];
edc[i] += s;
}
}
int bun(){
int i;
for(i=1;i<=zdm;++i) if( edm[i] > edc[i] ) return 0;
return 1;
}
int main(){
int k;
freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
scanf("%d%d",&n,&m);
edm[1]=1;
if( m == 2) dm[1]=2, zdm=1; else
if( m == 3) dm[1]=3, zdm=1; else
if( m == 4) dm[1]=2, zdm=1, edm[1]=2; else
if( m == 5) dm[1]=5, zdm=1; else
if( m == 6) dm[1]=2, dm[2]=3, edm[2]=1, zdm=2;
//n--;
for(k=1;k<=n;++k){
baga(n-k+1,1);
baga(k,-1);
if( bun() ) sol++;
}
printf("%d\n",sol);
fclose(stdin); fclose(stdout);
return 0;
}