Cod sursa(job #3168061)

Utilizator bagae123Burlacu Andrei bagae123 Data 11 noiembrie 2023 14:48:50
Problema Pascal Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.37 kb
#include <fstream>

using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
#define MAX_VALUE 5000000
int a[5000001],b[5000001],c[5000001],v[4];
int main()
{
    int i=0;
    if(i==0)v[2]=v[3]=v[5]=0;
    for(i=1; i<=MAX_VALUE; i++)
    {
       int x=i;


        while(x%2==0)
        {


            x=x/2;
            v[2]++;
        }
        while(x%3==0)
        {
            x=x/3;
            v[3]++;
        }
        while(x%5==0)
        {
            x=x/5;
            v[5]++;
        }
        a[i]=v[2];
        b[i]=v[3];
        c[i]=v[5];

    }
    int rand,d,nr=0;
    fin>>rand>>d;
    if(d==2)
    {
        for(i=0; i<=rand-1; i++)
        {
            if(a[rand]-(a[rand-i]+a[i])>=1)nr++;
        }
    }
    else if(d==3)
    {
        for(i=0; i<=rand-1; i++)
        {
            if(b[rand]-(b[rand-i]+b[i])>=1)nr++;
        }
    }
    else if(d==4)
    {
        for(i=0;i<=rand-1;i++)
        {
            if(a[rand]-(a[rand-i]+a[i])>=2)nr++;
        }
    }
    else if(d==5)
    {
        for(i=0;i<=rand-1;i++)
        {
            if(c[rand]-(c[rand-i]+c[i])>=1)nr++;
        }
    }
    else if(d==6)
    {
       for(i=0;i<=rand-1;i++)
        {
            if(a[rand]-(a[rand-i]+a[i])>=1&&b[rand]-(b[rand-i]+b[i])>=1)nr++;
        }
    }fout<<nr;
    return 0;
}