Cod sursa(job #1624015)

Utilizator stefanst77Luca Stefan Ioan stefanst77 Data 1 martie 2016 23:29:59
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.06 kb
#include <fstream>
#include <bitset>

using namespace std;
ofstream fout ("paisprezece.out");

int n[1000100], x, y;
bitset <1000000>a;    /// numerele prime
void Ciur()
{
    int i, j, k, x=1000000;
    for (i=4; i<=x; i+=2)
        a[i]=1;
    for (i=3; i<=x; i+=2)
        if (a[i]==0)
            for (j=i*i; j<=x; j+=2*i)
                a[j]=1;
    k=1;
    n[k]=2;
    for (i=3; i<=x; i+=2)
        if (a[i]==0)
        {
            k++;
            n[k]=i;
        }
}

int NrDiv(int x)
{
    int i, div, s;
    i=1;
    div=1;
    while (x>=1)
    {
        s=0;
        while (x%n[i]==0)
        {
            s++;
            x/=2;
        }
        div=div*(s+1);
        i++;
    }
    return div;
}

void Rezolvare(int st, int dr)
{
    int i, m, nr=0;
    for (i=st; i<=dr; i++)
    {
        m=NrDiv(i);
        if (m==14) nr++;
    }
    fout << nr <<"\n";
}
int main()
{

    ifstream fin ("paisprezece.in");
    fin >> x >> y;
    Rezolvare(x, y);
    fin.close();
    fout.close();
    return 0;
}