Pagini recente » Borderou de evaluare (job #1567335) | Cod sursa (job #1460361) | Cod sursa (job #2784996) | Cod sursa (job #1404352) | Cod sursa (job #1392454)
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
ifstream f("pascal.in");
ofstream g("pascal.out");
long putere(long n, long d) {
long p=0, q=d;
while (q<=n) {
p=p+n/q;
q=q*d;
}
return p;
}
int main()
{
long i, j, n, r, d;
f>>r>>d;
long m, nr=0;
if (d==2 || d==3 || d==5) {
m=putere(r, d);
for (i=1;i<=r/2;i++)
if (m-putere(r-i, d)-putere(i,d)!=0)
nr++;
}
else if (d==4) {
m=putere(r,2)/2;
for (i=1;i<=r/2;i++)
if (m-putere(r-i, d)/2-putere(i,d)/2!=0)
nr++;
}
else {
m=putere(r, 3);
for (i=1;i<=r/2;i++)
if (m-putere(r-i, 3)-putere(i,3)!=0)
nr++;
}
if (r%2==0)
g<<2*nr-1;
else
g<<2*nr;
return 0;
}