Pagini recente » Cod sursa (job #1548836) | Cod sursa (job #920456) | Cod sursa (job #2399923) | Cod sursa (job #1600206) | Diferente pentru problema/sieve intre reviziile 6 si 5
Diferente pentru
problema/sieve intre reviziile
#6 si
#5
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="sieve") ==
//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;
}
==
Poveste şi cerinţă...
h2. Date de intrare
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.