Pagini recente » Cod sursa (job #2482837) | Cod sursa (job #2238257) | Cod sursa (job #2026435) | Cod sursa (job #1081374) | Cod sursa (job #1011940)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("pascal.in");
ofstream g ("pascal.out");
int r, d, v[7];
void citeste ()
{ f>>r>>d;}
void valoare (int n, int m)
{
while (!(n%2)) {v[2]++; n=n/2;}
while (!(n%3)) {v[3]++; n=n/3;}
while (!(n%5)) {v[5]++; n=n/5;}
while (!(m%2)) {v[2]--; m=m/2;}
while (!(m%3)) {v[3]--; m=m/3;}
while (!(m%5)) {v[5]--; m=m/5;}
}
int impartire ()
{
if (d==4) {if (v[2]>=2) return 1;}
else
if (d==6) {if (v[2] && v[3]) return 1;}
else if (v[d]) return 1;
return 0;
}
void rezolva ()
{
int l=r/2, k=r, swag=0;
for (int i=1; i<=l; i++)
{
valoare (r, i);
if (impartire ()) swag+=2;
r--;
}
if (impartire () && k%2==0) swag--;
g<<swag<<'\n';
}
int main ()
{
citeste ();
rezolva ();
return 0;
}