Pagini recente » Cod sursa (job #419412) | Cod sursa (job #1791498) | Cod sursa (job #668872) | Cod sursa (job #1290538) | Cod sursa (job #1289196)
#include <fstream>
using namespace std;
ifstream f("pascal.in");
ofstream g("pascal.out");
int n, d, p2, p3, p5, sol, x;
int main()
{
int i, j;
f >> n >> d;
for(i = 1; i < (n+1) / 2; i++){
x = n - i + 1;
while(x % 2 == 0){
p2++;
x /= 2;
}
while(x % 3 == 0 ){
p3++;
x /= 3;
}
while(x % 5 == 0 ){
p5++;
x /= 5;
}
x = i;
while(x % 2 == 0){
p2--;
x /= 2;
}
while(x % 3 == 0 ){
p3--;
x /= 3;
}
while(x % 5 == 0 ){
p5--;
x /= 5;
}
switch(d){
case 2:
if(p2 > 0)
sol++;
break;
case 3:
if(p3 > 0)
sol++;
break;
case 4:
if(p2 >= 2)
sol++;
break;
case 5:
if(p5 > 0)
sol++;
break;
default:
if(p2 > 0 && p3 > 0)
sol++;
}
}
sol *= 2;
if(n % 2 == 0){
x = n - i + 1;
while(x % 2 == 0){
p2++;
x /= 2;
}
while(x % 3 == 0 ){
p3++;
x /= 3;
}
while(x % 5 == 0 ){
p5++;
x /= 5;
}
x = i;
while(x % 2 == 0){
p2--;
x /= 2;
}
while(x % 3 == 0 ){
p3--;
x /= 3;
}
while(x % 5 == 0 ){
p5--;
x /= 5;
}
switch(d){
case 2:
if(p2 > 0)
sol++;
break;
case 3:
if(p3 > 0)
sol++;
break;
case 4:
if(p2 >= 2)
sol++;
break;
case 5:
if(p5 > 0)
sol++;
break;
default:
if(p2 > 0 && p3 > 0)
sol++;
}
}
g << sol << '\n';
f.close();
g.close();
return 0;
}