Pagini recente » Cod sursa (job #37214) | Cod sursa (job #695855) | Cod sursa (job #1957298) | Cod sursa (job #1388877) | Cod sursa (job #2773851)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("pascal.in");
ofstream g("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=i; j<=n; j+=i)
v[j]++;
for(int i=1; i<=n; i++)
v[i]+=v[i-1];
}
int main()
{
f>>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++;
}
g<<cnt;
return 0;
}