Pagini recente » Cod sursa (job #394461) | Cod sursa (job #724772) | Cod sursa (job #2368263) | Cod sursa (job #261398) | Cod sursa (job #808550)
Cod sursa(job #808550)
#include <fstream>
using namespace std;
ifstream F("pascal.in");
ofstream G("pascal.out");
int D,R,P[7],Sol,M;
#define INC Sol += 1+(2*i!=R);
int main ()
{
F>>R>>D;
int Stop = R/2;
for (int i=1;i<=Stop;++i)
{
M=R-i+1;
while ( M%2 == 0 ) P[2]++,M/=2;
while ( M%3 == 0 ) P[3]++,M/=3;
while ( M%5 == 0 ) P[5]++,M/=5;
M=i;
while ( M%2 == 0 ) P[2]--,M/=2;
while ( M%3 == 0 ) P[3]--,M/=3;
while ( M%5 == 0 ) P[5]--,M/=5;
P[6]=min(P[2],P[3]);
if ( D == 2 && P[2] > 0 ) INC;
if ( D == 3 && P[3] > 0 ) INC;
if ( D == 4 && P[2] > 1 ) INC;
if ( D == 5 && P[5] > 0 ) INC;
if ( D == 6 && P[6] > 0 ) INC;
}
G<<Sol<<'\n';
}