Pagini recente » Cod sursa (job #858875) | Cod sursa (job #32508) | Cod sursa (job #43928) | Cod sursa (job #1238237) | Cod sursa (job #2634662)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("pascal.in");
ofstream out("pascal.out");
inline int nrAparitii(int fact, int val)
{
int rez=0;
long long v=val;
while(v<=fact)
{
rez+=fact/v;
v*=val;
}
return rez;
}
int n, d, cnt;
int main()
{
in>>n>>d;
if(d==2||d==3||d==5)
{
for(int i=0; i<=n; i++)
if(nrAparitii(n, d)-nrAparitii(i, d)-nrAparitii(n-i, d)) cnt++;
}
else if(d==4)
{
for(int i=0; i<=n; i++)
if(nrAparitii(n, 2)-nrAparitii(i, 2)-nrAparitii(n-i, 2)>=2) cnt++;
}
else
{
for(int i=0; i<=n+1; i++)
if(nrAparitii(n, 2)-nrAparitii(i, 2)-nrAparitii(n-i, 2) && nrAparitii(n, 3)-nrAparitii(i, 3)-nrAparitii(n-i, 3)) cnt++;
}
out<<cnt;
return 0;
}