Pagini recente » Cod sursa (job #2325950) | Borderou de evaluare (job #528097) | Cod sursa (job #644713) | Cod sursa (job #2732458) | Cod sursa (job #770633)
Cod sursa(job #770633)
#include <cstdio>
using namespace std;
int n, d, p[10], x, sol;
int main()
{
int i;
freopen ("pascal.in", "r", stdin);
freopen ("pascal.out", "w", stdout);
scanf("%d %d", &n, &d);
for(i = 1; i <= n; i++) {
x = n - i + 1;
while(x % 2 == 0) {p[2]++, x /= 2;}
while(x % 3 == 0) {p[3]++, x /= 3;}
while(x % 5 == 0) {p[5]++, x /= 5;}
x = i;
while(x % 2 == 0) {p[2]--, x /= 2;}
while(x % 3 == 0) {p[3]--, x /= 3;}
while(x % 5 == 0) {p[5]--, x /= 5;}
if(d == 2 && p[2]) {
sol++;
continue;
}
if(d == 3 && p[3]) {
sol++;
continue;
}
if(d == 4 && p[2] > 1) {
sol++;
continue;
}
if(d == 5 && p[5]) {
sol++;
continue;
}
if(d == 6 && p[2] && p[3]) {
sol++;
continue;
}
}
printf("%d", sol);
return 0;
}