Cod sursa(job #119139)

Utilizator doru100doru sarmasan doru100 Data 29 decembrie 2007 18:32:56
Problema Pascal Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream.h>
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int Putere(int x , int a);
int main()
{
	int R , D , i, nr = 0,p;
	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++;
			else
				if(D==4&&(Putere(R , 2)-((Putere((R-i),2)+Putere(i,2)))>=2))nr++;
				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++;
	}
	fout <<nr;
	return 0;


}
int Putere(int x,int a)
{
	int b = 0;
	for(int j = 2;j <= x;j++)
	{
		int aux = j;
		while(aux % a==0)
		{
			aux = aux / a;
			b++;
		}
        }
	return b;
}