Cod sursa(job #632438)
Utilizator | Data | 11 noiembrie 2011 09:42:31 | |
---|---|---|---|
Problema | Pascal | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include<fstream>
using namespace std;
int n,i,j,nr;
int a[10000];
long long d,r;
long fact(int x)
{
if(x==0||x==1)
return 1;
else
return x*fact(x-1);
}
int ndiv(int x)
{
long n=fact(x);
int fm,i=2;
int nr=1;
while(n!=1)
{
fm=0;
while(n%i==0)
{
fm++;
n=n/i;
nr=nr*(fm+1);
}
i++;
}
return nr;
}
int main()
{
ifstream f("pascal.in");
ofstream g("pascal.out");
f>>d>>r;
for(i=1;i<=d/2+1;i++)
{
a[i]=ndiv(d/2)/(ndiv(i)*(ndiv(d-i)));
if(a[i]%r==0)
nr++;
}
g<<nr;
return 0;
}