Pagini recente » Istoria paginii runda/34554e/clasament | Cod sursa (job #313444) | Cod sursa (job #1190318) | Cod sursa (job #2088201) | Cod sursa (job #2120663)
#include<fstream>
#define DN 5000005
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int r,d,nr2,nr3,nr5,f,a[2][DN],nr;
int main()
{
fin>>r>>d;
for(int i=2;i<=r;i++)
{
f=i;
for(int j=0;j<2;j++)
a[j][i]=a[j][i-1];
if(d==2||d==4)
while(f%2==0)
{
a[0][i]++;
f=f/2;
}
if(d==3)
while(f%3==0)
{
a[0][i]++;
f=f/3;
}
if(d==5)
while(f%5==0)
{
a[0][i]++;
f=f/5;
}
if(d==6)
{
while(f%2==0)
{
a[0][i]++;
f=f/2;
}
while(f%3==0)
{
a[1][i]++;
f=f/3;
}
}
}
for(int i=1;i<=r;i++)
{
if(d==2&&a[0][r]-a[0][i]-a[0][r-i])
nr++;
if(d==3&&a[0][r]-a[0][i]-a[0][r-i])
nr++;
if(d==4&&(a[0][r]-a[0][i]-a[0][r-i])/2)
nr++;
if(d==5&&a[0][r]-a[0][i]-a[0][r-i])
nr++;
if(d==6&&a[0][r]-a[0][i]-a[0][r-i]&&a[1][r]-a[1][i]-a[1][r-i])
nr++;
}
fout<<nr;
}