Pagini recente » Cod sursa (job #3144172) | Cod sursa (job #3184981) | Utilizatori inregistrati la ONIS 2014, Runda 1 | Cod sursa (job #3144169) | Cod sursa (job #2763011)
#include <fstream>
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int d2, d3, d5, p2, p3, p5;
int r, d, nr, sol;
int main () {
fin >> 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+2)/2; i++) {
int n = r - i + 1;
while(n%2 == 0)
{p2 += 1; n /= 2;}
while(n%3 == 0)
{p3 += 1; n /= 3;}
while(n%5 == 0)
{p5 += 1; n /= 5;}
n = i;
while(n%2 == 0)
{p2 -= 1; n /= 2;}
while(n%3 == 0)
{p3 -= 1; n /= 3;}
while(n%5 == 0)
{p5 -= 1; n /= 5;}
if(p2 >= d2 && p3 >= d3 && p5 >= d5)
sol++;
}
sol *= 2;
if(r%2 == 0)
sol--;
fout << sol;
return 0;
}