Pagini recente » Cod sursa (job #2963279) | Cod sursa (job #106478) | Cod sursa (job #2126617) | Cod sursa (job #1926801) | Cod sursa (job #2386634)
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ifstream f("zero2.in");
ofstream g("zero2.out");
ll n, x, nr, k, t, u[1000001], z;
struct fact
{
ll a, b;
} v[1000001];
void desc(ll q)
{
ll p=0;
v[1000000].a= {0};
v[1000000].b= {0};
t=0;
if(!(q & 1))
{
while(!(q & 1))
{
q=q>>1;
p++;
}
v[++t].a=2;
v[t].b=p;
}
ll d=3;
while(d*d<=q)
{
if(q%d==0)
{
p=0;
while(q%d==0)
{
q/=d;
p++;
}
v[++t].a=d;
v[t].b=p;
}
d+=2;
}
if(q>1)
{
v[++t].a=q;
v[t].b=1;
}
}
int main()
{
for(int i=1; i<=10; i++)
{
z=0;
u[1000000]= {0};
f>>x>>k;
desc(k);
for(ll j=1; j<=t; j++)
{
nr=0;
for(ll r=v[j].a; r<=x; r+=v[j].a)
{
ll s=r;
while(s%v[j].a==0)
{
s/=v[j].a;
nr++;
}
}
u[++z]=nr/v[j].b;
}
sort(u+1, u+z+1);
g<<u[1]<<'\n';
}
return 0;
}