Pagini recente » Cod sursa (job #3253366) | Cod sursa (job #96187) | Cod sursa (job #343232) | Cod sursa (job #2150770) | Cod sursa (job #1692777)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("zero2.in");
ofstream out("zero2.out");
long long n,b,ddd,bc,contor,d,suma;
long long nr(long long n,long long b)
{
long long put = b,rez=0;
while(n/put!=0)
{
rez+= n/put;
put *=put;
}
return rez;
}
void rez(long long n, long long b)
{
contor = 0;
ddd = 0;
d = 2;
bc = b;
while(d*d<=bc)
{
if(bc%d==0)
{
ddd = d;
contor = 0;
while(bc%d==0)
{
contor++;
bc = bc/d;
}
}
d++;
}
if(bc!=1){ddd = bc;contor = 1;}
suma = 0;
for(int i=1;i<=n;i++)
{
suma += nr(i,ddd);
}
out << suma/contor << "\n";
}
int main()
{
for(int i=0;i<10;i++)
{
in >> n >> b;
rez(n,b);
}
return 0;
}