Cod sursa(job #2120645)

Utilizator patcasrarespatcas rares danut patcasrares Data 2 februarie 2018 18:52:04
Problema Pascal Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<fstream>
#define DN 5000005
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int r,d,nr2,nr3,nr5,f,a[15][DN],nr;
int main()
{
    fin>>r>>d;
    for(int i=2;i<=r;i++)
    {
        f=i;
        for(int j=2;j<=6;j++)
            a[j][i]=a[j][i-1];
        while(f%2==0)
        {
            a[2][i]++;
            f=f/2;
        }
        while(f%3==0)
        {
            a[3][i]++;
            f=f/3;
        }
        while(f%5==0)
        {
            a[5][i]++;
            f=f/5;
        }
    }
    for(int i=1;i<=r;i++)
    {
        if(d==2&&a[2][r]-a[2][i]-a[2][r-i])
            nr++;
        if(d==3&&a[3][r]-a[3][i]-a[3][r-i])
            nr++;
        if(d==4&&(a[2][r]-a[2][i]-a[2][r-i])/2)
            nr++;
        if(d==5&&a[5][r]-a[5][i]-a[5][r-i])
            nr++;
        if(d==6&&a[2][r]-a[2][i]-a[2][r-i]&&a[3][r]-a[3][i]-a[3][r-i])
            nr++;
    }
    fout<<nr;
}