Pagini recente » Cod sursa (job #2466931) | Cod sursa (job #2283105) | Cod sursa (job #1356667) | Cod sursa (job #2414672) | Cod sursa (job #2099491)
#include <fstream>
using namespace std;
ifstream f("pascal.in");
ofstream g("pascal.out");
int i,d,j,nr,v[3],p[3],x[3],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+1)/2;j++){
ok=1;
for(k=1;k<=nr;k++)
if(x[k]<p[k])
ok=0;
sol+=2*ok;
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(i%2==0){
ok=1;
for(j=1;j<=nr;j++)
if(x[j]<p[j])
ok=0;
sol+=ok;
}
g<<sol;
return 0;
}