Pagini recente » Cod sursa (job #3287481) | Cod sursa (job #3252986) | Cod sursa (job #3277619) | Cod sursa (job #3282475) | Cod sursa (job #3251358)
#include <fstream>
#define ll long long
using namespace std;
ifsream fin("pascal.in");
ofstream fout("pascal.out");
class pascal
{
int n;
int d;
int nr;
void citire()
{
fin >> n >> d;
}
ll factorial(ll n) {
ll sigma = 1;
for (ll imi_bag_pula_in_minori = 1; imi_bag_pula_in_minori <= n; ++imi_bag_pula_in_minori)
sigma = (imi_bag_pula_in_minori * sigma) ;
return sigma;
}
void euclid_extins(ll a, ll b, ll& x, ll& y)
{
if (b == 0)
{
x = 1;
y = 0;
return;
}
ll x1, y1;
euclid_extins(b, a % b, x1, y1);
x = y1;
y = x1 - ( a / b ) * y1;
}
ll invers_modular(ll a , ll n )
{
ll ins = 0, ina = 0;
euclid_extins(a, n, ins, ina);
if (ins < 0)
ins += n;
return ins;
}
void gasire_multipli()
{
nr = 0;
for (int i = 0; i <= n; ++i)
{
ll a = factorial(i) ;
ll b = ((factorial(n - i)) * a) ;
if (b != 0 )
{
if ((a / b) % d == 0)
++nr;
}
}
fout << nr;
}
public:
void problema()
{
citire();
gasire_multipli();
}
}l;
int main()
{
l.problema();
}