Wie heißt folgendes InformatikProblem?
Moin,
ich habe da mal eine Frage. Neuerdings hat unser Informatiklehrer ein altes "neues" Problem gestellt. Und zwar:
Dodo der Märchenkönig hat 100 Gefangene:
- Alle hundert Türen werden geöffnet
- jede zweite Tür wird geschlossen
- jede dritte Tür wird geöffnet, wenn sie zu ist oder geschlossen, wenn sie offen ist
- Dies wird mit jeder 5. bis 100. Tür wiederholt
- Wer kommt frei?
Die Frage ist: Wie heißt diese Aufgabe und hat jemand ggf. schon eine Lösung? Danke im vorraus
1 Antwort
Vom Beitragsersteller als hilfreich ausgezeichnet
Die Anzahl der offenen Türen wäre mathematisch gesehen eine alternierende Reihe, die zu 25 konvergiert. Aber sonst fällt mir da kein 'Name' für das Problem ein.
Ich würde dir empfehlen, das einfach in einer Sprache deines Vertrauens zu schreiben und dann die Dinge so zu machen, wie sie für dich am besten verständlich sind, also eines nach dem anderen. In Javascript z.B. so:
// 1
let doors = []
for (let i = 0; i < 100; i++) {
let door = {
number: i,
open: true
}
doors.push(door)
}
console.log(doors)
// 2
for (let door of doors) {
if (door.number % 2 === 0)
door.open = false
}
console.log(doors)
// 3
for (let door of doors) {
if (door.number % 3 === 0)
door.open = !door.open
}
console.log(doors)
// 4
for (let i = 5; i < 100; i++) {
for (let door of doors) {
if (door.number % i === 0)
door.open = !door.open
}
}
console.log(doors)
// 5
for (let door of doors) {
if (door.open) {
console.log(door.number)
}
}