Pagini recente » Diferente pentru problema/preasimplu intre reviziile 27 si 28 | Atasamentele paginii Profil Moaka | Atasamentele paginii test-test | Diferente pentru problema/waterfront intre reviziile 9 si 4 | Diferente pentru problema/sieve intre reviziile 5 si 6
Diferente pentru
problema/sieve intre reviziile
#5 si
#6
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="sieve") ==
Poveste şi cerinţă...
//Povestea va fi schimbata
In aceasta problema vom analiza cum se comporta Ciurul lui Eratosthene daca in loc sa parcurgem numerele in ordinea {2, 3, 4, .. N}, le parcurgem in ordinea data de o permutare aleatoare a acestor numere. Mai exact, dandu-se acest pseudocod:
== code(c) |
int countSteps(int n, vector<int> p) {
vector<bool> Composite(n + 1, false);
int steps = 0;
// p este o permutare a multimii {2, 3, ..., n}
for(int index = 0; index < n - 1; ++index) {
if(not Composite[p[index]]) {
for(int multiple = 2 * p[index]; multiple <= n; multiple += p[index]) {
Composite[multiple] = true;
steps += 1;
}
}
}
return steps;
}
==
h2. Date de intrare
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.