Pagini recente » Cod sursa (job #2228448) | Cod sursa (job #2083484) | Cod sursa (job #1215599) | Cod sursa (job #2899803) | Cod sursa (job #1146245)
#include<cstdio>
#include<iostream>
using namespace std;
int R , D , rez , d2, d3 , d5 , p2 , p3 ,p5;
void desc(int n , int k);
void find(int n , int semn)
{
while(n%2 == 0) n/=2 , p2 += semn;
while(n%3 == 0) n/=3 , p3 +=semn;
while(n%5 == 0) n/=5 , p5 += semn;
}
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;
for(int i = 1 ; i <= (R-1)/2 ; ++i )
{
desc(R,i);
rez += (p2 >= d2 && p3 >= d3 && p5 >= d5);
}
rez = rez*2;
if((R-1)%2)
{
desc(R,(R-1)/2+1);
rez += (p2 >= d2 && p3 >= d3 && p5 >= d5);
}
printf("%d" , rez);
return 0;
}
void desc(int n , int k)
{
find(n-k+1,1);
find(k,-1);
}