Cod sursa(job #2778986)

Utilizator theodora_bogdanBogdan Theodora theodora_bogdan Data 2 octombrie 2021 14:27:47
Problema Pascal Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.35 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");

int main()
{
    int r, d, v2[50000], v3[50000], v5[50000], rez[6]={0}, con=0;
    fin>>r>>d;
    for(int i=1; i<=r; i++)
    {
        if(i%2==0)
        {
            v2[i]=v2[i/2]+1;
        }
        if(i%3==0)
        {
            v3[i]=v3[i/3]+1;
        }
        if(i%5==0)
        {
            v5[i]=v5[i/5]+1;
        }
    }

    for(int i=1; i<=r; i++)
    {
        v2[i]=v2[i-1]+v2[i];
        v3[i]=v3[i-1]+v3[i];
        v5[i]=v5[i-1]+v5[i];
    }

    for(int i=0; i<=r; i++)
    {
        rez[2]=v2[r]-v2[i]-v2[r-i];
        rez[3]=v3[r]-v3[i]-v3[r-i];
        rez[5]=v5[r]-v5[i]-v5[r-i];
            if(d==2)
            {
                if(rez[2]!=0)
                    con++;
            }
            if(d==3)
            {
                if(rez[3]!=0)
                    con++;
            }
            if(d==4)
            {
                if(rez[2]>=2)
                    con++;
            }
            if(d==5)
            {
                if(rez[5]!=0)
                    con++;
            }
            if(d==6)
            {
                if(rez[2]!=0 && rez[3]!=0)
                    con++;
            }


    }
    fout<<con;

    return 0;
}