Cod sursa(job #1714557)

Utilizator ErikHEErik Henning ErikHE Data 8 iunie 2016 17:54:07
Problema Pod Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <iostream>
#include <fstream>
#include <ctime>
using namespace std;
// (p+1) * (variante pt divizori primi cu 1 mai putin) + (p) * (variante pt divizori primi cu 1 mai putin - 1)
ifstream f ("perechi.in");
ofstream g("perechi.out");
int puteri[32], var[32], i, j, m, n;

void descompunere(int n) {
int d=2, p=0; i=1;
while (n>1) {p=0;
    while (n%d==0)  {
        p++;
        n=n/d;
    }

    d++;
    if (p!=0)   {
        puteri[i] = p;
        i++;
    }
}
i-=1;
var[1]=puteri[1] + 1;

for (j=2;j<=i;j++)
    var[j] = var[j-1] * (puteri[j] + 1) + (var[j-1] -1)*puteri[j];

g<<var[i];


}

int main()  {
    float t0=clock();
    f>>n;
    m=n;
    //descompunere(n);
    for (i=1;i<=1000000000;i++)
        m=1;

    float t1=clock();
    cout<<(t1-t0)/1000.0;
return 0;
}

//INFOARENA.POD: Folosesc liste ca sa mut direct la coada
// si sa nu fac deplasari si generez variante de recursie dupa formula:
//v[i] = v[i-1] + v[i-k];