Pagini recente » Cod sursa (job #2079557) | Cod sursa (job #2005368) | Cod sursa (job #1010409) | Cod sursa (job #1195495) | Cod sursa (job #2634678)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("pascal.in");
ofstream out("pascal.out");
int n, d, cnt;
int p1[5000003], p2[5000003];
inline void calcul(int val, int v[])
{
v[0]=0;
for(int i=val; i<=n; i*=val)
for(int j=val; j<=n; j+=val)
v[j]++;
}
int main()
{
in>>n>>d;
if(d==2||d==3||d==5)
{
calcul(d, p1);
for(int i=1; i<=n-1; i++)
if(p1[n]-p1[i]-p1[n-i]) cnt++;
}
else if(d==4)
{
calcul(2, p1);
for(int i=1; i<=n-1; i++)
if(p1[n]-p1[i]-p1[n-i]>=2) cnt++;
}
else
{
calcul(2, p1);
calcul(3, p2);
for(int i=1; i<=n-1; i++)
if(p1[n]-p1[i]-p1[n-i] && p2[n]-p2[i]-p2[n-i]) cnt++;
}
out<<cnt;
return 0;
}