Pagini recente » Cod sursa (job #2221907) | Cod sursa (job #2687724) | Cod sursa (job #1870354) | Cod sursa (job #2746050) | Cod sursa (job #798708)
Cod sursa(job #798708)
#include <fstream>
using namespace std;
short d,c2[5000005],c3[5000005],c5[5000005];
int n,i;
int main()
{
ifstream fin("pascal.in");
ofstream fout("pascal.out");
fin>>n;
fin>>d;
////////////
for(i=1;(i<=5000004 && i*2<=5000004);i++)
{
if(i%2==0)
{
if(c2[i]==0)
{
c2[i]=1;
c2[2*d]=2;
}
else
{
c2[2*d]=c2[i]+1;
}
}
else
{
c2[2*d]=1;
}
}
////////////
for(i=1;(i<=5000004 && i*3<=5000004);i++)
{
if(i%3==0)
{
if(c3[i]==0)
{
c3[i]=1;
c3[3*d]=2;
}
else
{
c3[3*d]=c3[i]+1;
}
}
else
{
c3[3*d]=1;
}
}
////////////
for(i=1;(i<=5000004 && i*5<=5000004);i++)
{
if(i%5==0)
{
if(c5[i]==0)
{
c5[i]=1;
c5[5*d]=2;
}
else
{
c5[5*d]=c5[i]+1;
}
}
else
{
c5[5*d]=1;
}
}
if(d==2){
int nr_factori=0,raspuns=0;
for(i=0;(i<n-1);i++)
{
nr_factori=nr_factori+c2[n-i]-c2[i+1];
if(nr_factori>0)
{
raspuns++;
}
//numar=numar*(n-i)/(i+1);
//cout<<numar<<' '<<nr_factori<<endl;;
}
fout<<raspuns<<'\n';
}
else if(d==3)
{
int nr_factori=0,raspuns=0;
for(i=0;(i<n-1);i++)
{
nr_factori=nr_factori+c3[n-i]-c3[i+1];
if(nr_factori>0)
{
raspuns++;
}
//numar=numar*(n-i)/(i+1);
//cout<<numar<<' '<<nr_factori<<endl;;
}
fout<<raspuns<<'\n';
}
else if(d==5)
{
int nr_factori=0,raspuns=0;
for(i=0;(i<n-1);i++)
{
nr_factori=nr_factori+c3[n-i]-c3[i+1];
if(nr_factori>0)
{
raspuns++;
}
//numar=numar*(n-i)/(i+1);
//cout<<numar<<' '<<nr_factori<<endl;;
}
fout<<raspuns<<'\n';
}
else if(d==4)
{
int nr_factori=0,raspuns=0;
for(i=0;(i<n-1);i++)
{
nr_factori=nr_factori+(c2[n-i]-c2[i+1])/2+(c2[n-i]-c2[i+1])%2;
if(nr_factori>0)
{
raspuns++;
}
//numar=numar*(n-i)/(i+1);
//cout<<numar<<' '<<nr_factori<<endl;;
}
fout<<raspuns<<'\n';
}
else if(d==6)
{
int nr_factori=0,raspuns=0;
for(i=0;(i<n-1);i++)
{
nr_factori=nr_factori+(c2[n-i]-c2[i+1])/2+(c2[n-i]-c2[i+1])%2+(c3[n-i]-c3[i+1])/2+(c3[n-i]-c3[i+1])%2;
if(nr_factori>0)
{
raspuns++;
}
//numar=numar*(n-i)/(i+1);
//cout<<numar<<' '<<nr_factori<<endl;;
}
fout<<raspuns<<'\n';
}
fin.close();
fout.close();
//system("PAUSE");
return 0;
}