Pagini recente » Cod sursa (job #1015719) | Cod sursa (job #2856529) | Cod sursa (job #1521442) | Cod sursa (job #2415293) | Cod sursa (job #2089915)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("pascal.in");
ofstream out("pascal.out");
long long r,d,cnt;
long long legendre(long long n, long long p)
{
long long s=0;
if(p==0)
return 0;
while(n/p>0)
{
s+=n/p;
p*=p;
}
return s;
}
int main()
{
in>>r>>d;
if(d==2 || d==3 || d==5 || d==4)
{
if(d==4)
d=2;
for(int i = 1;i<=r/2;i++)
{
if(legendre(r,d)-legendre(r-i,d)-legendre(i,d)>0)
{
if(i==r/2)
{
if(r%2==0)
cnt++;
else
cnt+=2;
}
else
cnt+=2;
}
}
}
else
{
for(int i = 1;i<=r/2;i++)
{
if(legendre(r,2)-legendre(r-i,2)-legendre(i,2)>0 && legendre(r,3)-legendre(r-i,3)-legendre(i,3)>0)
{
if(i==r/2)
{
if(r%2==0)
cnt++;
else
cnt+=2;
}
else
cnt+=2;
}
}
}
out<<cnt;
return 0;
}