Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 485 Exp : Martie 06, 2017, 10:15:42
salut. stie cineva care e diferenta dintre urmatoarele 2 surse?

http://www.infoarena.ro/job_detail/1905375
http://www.infoarena.ro/job_detail/1905376

liniile de cod care fac diferenta ar fi:

Cod:
for(int i = 0; prime[i] * prime[i] <= number; i++){
    while(number % prime[i] == 0){
        factor[prime[i]]++;
        number /= prime[i];
    }
}

si

Cod:
while(number % 2 == 0){
    factor[2]++;
    number /= 2;
}
for(int i = 3; i * i <= number; i += 2){
    while(number % i == 0){
        factor[i]++;
        number /= i;
    }
}

in prima varianta iteram numai prin numere prime pana la
radical din x, crezand ca e o idee mai buna. aproape ca iasa
din limita de timp, cand ma asteptam sa scot unul mai bun.
nu inteleg de ce e asa..
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines