Cod sursa(job #1384924)

Utilizator TPotecTiberiu Potec TPotec Data 11 martie 2015 15:45:27
Problema GFact Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream in ("gfact.in");
ofstream out ("gfact.out");

int d[10000];
int p[10000],i,n,nd,q,div,test;

void descompunere(int n)
{
    i=2;
    while(i*i<=n){
        if(n%i==0)
        {
            nd++;
            d[nd]=i;
            while(n%i==0){
                p[nd]++;
                n/=i;
            }
        }
        i++;
    }
    if(n!=1){
        nd++;
        d[nd]=n;
        p[nd]=1;
    }
}

int zero(int n,int div)
{
    int nr=0;
    while(n>=div){
        nr+=n/div;
        n/=div;
    }
    return nr;
}

bool ok(int x)
{
    for(i=1;i<=nd;i++){
        if(zero(x,d[i])<p[i]*q)
        {
            return false;
        }
        return true;
    }
}

/*void cautbin()
{
    int i=0;
    int pas=1<<20;
    while(pas!=0)
    {
        if()
        {
            i+=pas;
        }
    pas/=2;
    }

}*/

int main()
{
    in>>test;
    descompunere(test);

    for(i=1;i<=nd;i++){
        out<<d[i]<<" ";
    }
        for(i=1;i<=nd;i++){
        out<<p[i]<<" ";
    }

    return 0;
}