Eratosthenovo síto: Porovnání verzí

Smazaný obsah Přidaný obsah
slíbený PHP kód.
m Robot: -zastaralá značka HTML; kosmetické úpravy
Řádek 1:
{{Upravit}}
[[Soubor:Sieve of Eratosthenes animation.gif|rightvpravo|framerám|Eratosthenovo síto: Kroky algoritmu pro prvočísla do 121.]]
'''Eratosthenovo síto''' je jednoduchý [[algoritmus]] pro nalezení všech [[prvočíslo|prvočísel]] menších než zadaná horní mez. Je pojmenován po [[Řecko|řeckém]] [[matematik]]ovi [[Eratosthenés z Kyrény|Eratosthenovi z Kyrény]], který žil v letech [[276 př. n. l.|276]]–[[194 př. n. l.]]
 
Řádek 14:
|   || 2 || 3 || 4 || 5
|-
| 6 || 7 || 8 || 9 || 10
|-
| 11 || 12 || 13 || 14 || 15
|-
| 16 || 17 || 18 || 19 || 20
|-
| 21 || 22 || 23 || 24 || 25
|-
| 26 || 27 || 28 || 29 || 30
Řádek 30:
: {| class="wikitable" style="text-align: center"
|-
|  
| style="border: 3px solid darkgrey; background:#e1e1e1" | '''2'''
| 3
| 4
| 5
|-
| 6 || 7 || 8 || 9 || 10
|-
| 11 || 12 || 13 || 14 || 15
|-
| 16 || 17 || 18 || 19 || 20
|-
| 21 || 22 || 23 || 24 || 25
|-
| 26 || 27 || 28 || 29 || 30
Řádek 52:
: {| class="wikitable" style="text-align: center"
|-
|  
| style="border: 3px solid darkgrey; background:#e1e1e1" | 2
| 3
|  
| 5
|-
|   || 7 ||   || 9 ||  
|-
| 11 ||   || 13 ||   || 15
|-
|   || 17 ||   || 19 ||  
|-
| 21 ||   || 23 ||   || 25
|-
|   || 27 ||   || 29 ||  
Řádek 74:
: {| class="wikitable" style="text-align: center"
|-
|  
| style="border: 3px solid darkgrey; background:#e1e1e1" | 2
| style="border: 3px solid darkgrey; background:#e1e1e1" | '''3'''
|  
| 5
|-
|   || 7 ||   || 9 ||  
|-
| 11 ||   || 13 ||   || 15
|-
|   || 17 ||   || 19 ||  
|-
| 21 ||   || 23 ||   || 25
|-
|   || 27 ||   || 29 ||  
Řádek 96:
: {| class="wikitable" style="text-align: center"
|-
|  
| style="border: 3px solid darkgrey; background:#e1e1e1" | 2
| style="border: 3px solid darkgrey; background:#e1e1e1" | 3
|  
| 5
|-
|   || 7 ||   ||   ||  
|-
| 11 ||   || 13 ||   ||  
|-
|   || 17 ||   || 19 ||  
|-
|   ||   || 23 ||   || 25
|-
|   ||   ||   || 29 ||  
Řádek 118:
: {| style="text-align: center; border-collapse: collapse;"
|- style="height: 30px" |
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 3px solid darkgrey; width: 24px; background:#e1e1e1" | 2
| style="border: 3px solid darkgrey; width: 24px; background:#e1e1e1" | 3
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 3px solid darkgrey; width: 24px; background:#e1e1e1" | '''5'''
|  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 3px solid darkgrey; width: 24px; background:#e1e1e1" | 2
| style="border: 3px solid darkgrey; width: 24px; background:#e1e1e1" | 3
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 3px solid darkgrey; width: 24px; background:#e1e1e1" | 5
|- style="height: 30px" |
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" | 7
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
Řádek 136:
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
|  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" | 7
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
Řádek 148:
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
|  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" | 11
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" | 13
Řádek 154:
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
|- style="height: 30px" |
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" | 17
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
Řádek 160:
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
|  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" | 17
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
Řádek 166:
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
|- style="height: 30px" |
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" | 23
Řádek 172:
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" | 25
|  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" | 23
Řádek 178:
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
|- style="height: 30px" |
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
Řádek 184:
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
|  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
| style="border: 1px solid darkgrey; width: 24px; background:#f8f8f8" |  
Řádek 197:
: {| class="wikitable" style="text-align: center"
|-
|  
| style="border: 3px solid darkgrey; background:#e1e1e1" | '''2'''
| style="border: 3px solid darkgrey; background:#e1e1e1" | '''3'''
|  
| style="border: 3px solid darkgrey; width: 17px; background:#e1e1e1" | '''5'''
|-
|  
| style="border: 3px solid darkgrey; background:#e1e1e1" | '''7'''
|   ||   ||  
|-
| style="border: 3px solid darkgrey; background:#e1e1e1" | '''11'''
|  
| style="border: 3px solid darkgrey; background:#e1e1e1" | '''13'''
|   ||  
|-
|  
| style="border: 3px solid darkgrey; background:#e1e1e1" | '''17'''
|  
| style="border: 3px solid darkgrey; background:#e1e1e1" | '''19'''
|  
|-
|   ||  
|style="border: 3px solid darkgrey; background:#e1e1e1" | '''23'''
|   ||  
|-
|   ||   ||  
| style="border: 3px solid darkgrey; background:#e1e1e1" | '''29'''
|  
|}
 
== Příklad implementace ==
Následující kód je v jazyce [[Python]].
 
<sourcesyntaxhighlight lang="python">
def eratosthenovo_sito(do):
do += 1
Řádek 245:
prvocisla.append(i)
return prvocisla
</syntaxhighlight>
</source>
 
 
Následující kód je v jazyce [[PHP]].
<sourcesyntaxhighlight lang="php">
function eratosthenovo_sito($max) {
for ($i=2; $i<=$max; $i++) {
Řádek 263:
return $cisla;
}
</syntaxhighlight>
</source>
== Externí odkazy ==
* [http://www.faust.fr.bw.schule.de/mhb/eratosiv.htm Interaktivní animace] (vyžadován [[JavaScript]])