Pagini recente » Cod sursa (job #1559657) | Cod sursa (job #1492300) | Cod sursa (job #1955995) | Cod sursa (job #2574797) | Cod sursa (job #119279)
Cod sursa(job #119279)
#include <fstream.h>
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int Putere (long int x , int a);
int main()
{
long int R,i,nr=0;
int D;
fin >> R >> D;
if(R % D== 0) nr = 2;
for(i = 2;i <= R/2;i++)
{
if((D==2||D==3||D==5)&&(Putere(R , D)-((Putere((R-i),D)+Putere(i,D))) > 0)) nr+=2;
else
if(D==4&&(Putere(R , 2)-((Putere((R-i),2)+Putere(i,2)))>=2))nr+=2;
else
if(D==6&&(Putere(R , 2)-(Putere((R-i),2)+Putere(i,2)))>0&&(Putere (R , 3)-(Putere((R-i),3)+Putere(i,3))>0))nr+=2;
}
if(R%2==0) nr--;
fout <<nr;
return 0;
}
int Putere(long int x,int a)
{
int b = 0;
for(long int j = a;j <= x;j=j+a)
{
long int aux = j;
while(aux % a==0)
{
aux = aux / a;
b++;
}
}
return b;
}