Cod sursa(job #655175)

Utilizator dutzulBodnariuc Dan Alexandru dutzul Data 1 ianuarie 2012 17:32:14
Problema Divizori Primi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <fstream>
#include <cmath>
#define l 1000000
using namespace std;
ifstream f("divprim.in");
ofstream g("divprim.out");
int i,j,prim[1005],n1,p,de;
int H[7][1000005];
int DESC(int x)
{
        int y=x,nr=0,e=0,d;
        while (y!=1&&d*d<=l) {
                e++,d=prim[e];
                if(y%d==0) nr++;
                while (y%d==0) y=y/d;
        }
        if (y!=1) nr++;
        return nr;
}
int main()
{

        for(i=2; i*i*i*i<=l; i++) if (prim[i]==0)
                        for(j=i*i; j*j<=l; j+=i) prim[j]=1;

        for(i=2; i*i<=l; i++)
                if (prim[i]==0) n1++,prim[n1]=i;


        for(i=2; i<=l; i++) {
            p=DESC(i);
              /*  if (prim[i]==0) {
                        H[0][0]++;
                        H[0][H[0][0]]=i;
                } else {
                        p=DESC(i);
                        if (p<=7&&p>0) {
                                H[p-1][0]++;
                                H[p-1][H[p-1][0]]=i;
                        }
                }
                */
                if (i==1100)
                de=1;
        }


        f.close();
        g.close();
        return 0;
}