Cod sursa(job #2684257)

Utilizator GribinetDanielGribinet Daniel GribinetDaniel Data 13 decembrie 2020 13:55:16
Problema A+B Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <fstream>

using namespace std;
ifstream cin("numere.in");
ofstream cout("numere.out");
int a[100001];
int nrDiv(int n)
{
    int d=2;
    int cnt=1;
    while (n>1)
    {
        int p=0;
        while (n%d==0)
            n/=d, p++;
        d++;
        cnt=cnt*(p+1);
        if (d*d>n)
            d=n;
    }
    return cnt;
}

int main()
{
    int n,p, maxdiv=1, maxnr=0;
    cin>>p;
    if (p==1)
    {
        cin>>n;
        for (int i=1; i<=n; i++)
        {
        int nr = nrDiv(i);

        if (nr > maxdiv)
        {
            maxdiv = nr;
            maxnr = i;
        }
    }
    cout << maxnr;
    }
    else  if (p==2)
    {
        int m, t, nr=0;
        cin>>n>>m>>t;
        for (int i=1; i<=n; i++)
            a[i]=nrDiv(i);
        for (int i=1; i<n; i++){
            for (int j=i+1; j<=n; j++){
                    int contor=0;
                for (int k=i; k<=j; k++)
                    {
                        if (a[k]==t+2)
                            contor++;
                    }

                    if (contor==m)
                        nr++;
            }
        }
        cout<<nr;
    }
    return 0;
}