Pagini recente » Cod sursa (job #740645) | Cod sursa (job #717340) | Cod sursa (job #2442314) | Cod sursa (job #417614) | Cod sursa (job #1714557)
#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];