Pagini recente » Cod sursa (job #2113460) | Cod sursa (job #1311643) | Cod sursa (job #1776030) | Cod sursa (job #2818087) | Cod sursa (job #1036825)
#include <fstream>
#include <iostream>
using namespace std;
int R,D;
ifstream in("pascal.in");
ofstream out("pascal.out");
int p2 = 0, p3 = 0, p5 = 0;
int desc(int num, const int del){
while(num && num % 2 == 0){
num /= 2;
p2 += del;
}
while(num && num % 3 == 0){
num /= 3;
p3 += del;
}
while(num && num % 5 == 0){
num /= 5;
p5 += del;
}
}
int main(){
in >> R >> D;
int ans = 0;
for(int i = 1 ; 2 * i <= R + 2 ; ++i){
if( (D == 2 && p2) || (D == 3 && p3) || (D == 4 && p2 >= 2) || (D == 5 && p5) || (D == 6 && p2 && p3)){
ans += 2;
if(2 * i == R )
--ans;
}
desc(R - i + 1, 1);
desc(i, -1);
}
out << ans << "\n";
}