Pagini recente » Cod sursa (job #1613360) | Cod sursa (job #1569297) | Cod sursa (job #2704082) | Cod sursa (job #197942) | Cod sursa (job #2099845)
#include <fstream>
using namespace std;
ifstream f("pascal.in");
ofstream g("pascal.out");
int i,d,j,nr,v[4],p[4],x[4],k,ok,sol;
int main()
{
f>>i>>d;
for(j=2;j*j<=d;j++)
if(d%j==0){
nr++;
v[nr]=j;
while(d%j==0){
p[nr]++;
d/=j;
}
}
if(d!=1){
nr++;
v[nr]=d;
p[nr]=1;
}
for(j=0;j<i/2;j++){
ok=1;
for(k=1;k<=nr;k++){
int y=i-j;
while(y%v[k]==0){
x[k]++;
y/=v[k];
}
y=j+1;
while(y%v[k]==0){
x[k]--;
y/=v[k];
}
if(x[k]<p[k])
ok=0;
}
sol+=2*ok;
}
if(i%2==0){
sol-=ok;
}
g<<sol;
return 0;
}