Es gibt hundert Türen, die alle geschlossen sind. Ein Roboter macht 100 Durchgänge, so dass er bei jedem Durchgang um den nächsten Startpunkt erhöht wird. SomitIncremental Door Pass Riddle - Nur Viereckpositionen offen
1, 2, 3,.....
2, 4, 6, 8,....
3, 6, 9, 11,....
4, 8, 12, 16,....
.......
100
jedes Mal, wenn eine Tür besucht er von seinem aktuellen Zustand schaltet, so schließt, wenn es geöffnet ist, und öffnet, wenn er geschlossen war. Nach 100 Durchgängen finden Sie die Anzahl der Türen, die geöffnet sind.
Das Problem ist trivial, hier ist meine Lösung,
def door_traversal():
arr = []
arr = [0 for i in range(101)]
for i in range(1, 101, 1):
for j in range(i, 101, i):
arr[j] = not arr[j]
count = 0
for i in range(1, 101, 1):
if arr[i] == 1:
count += 1
return count
Die Antwort ist 10 und auf die Überprüfung wie bekomme ich diese Nummer 10, es scheint, alle Türindizes, die perfekt quadratisch sind open.Thus die offene Türen sind
Was ich habe versucht zu verstehen, ist die Mathematik dahinter, das. Irgendwelche Hilfe dabei?
Ich sehe nicht, wie das Programmieren ist. Ja, Sie haben dort Code, aber die eigentliche Frage ist rein mathematisch. – SiHa