Имя странное, но не беспокоиться о том, что это так просто, как сделать петлю.
Постановка задачи:
100 дверей подряд изначально закрыты. Вы делаете 100 проходов по дверям. В первый раз посетите каждую дверь и переключите дверь (если дверь закрыта, откройте ее; если она открыта, закройте ее). Во второй раз посетите только каждую 2 -ю дверь (дверь № 2, № 4, № 6, …) и переверните ее. В третий раз посетите каждую 3 -ю дверь (дверь № 3, № 6, № 9, …) и т. Д., Пока вы не посетите только 100 -й дверь. И так далее это идет до 100 -го раз.
Первое решение
Язык: Питон
doors = [0] * 100 #initialized all doors to a closed state for x in range(100): for y in range(x, 100, x + 1): if (doors[y] == 0): doors[y] = 1 else : doors[y] = 0
Что ж, удивительная вещь, которая привлекла мое внимание, было то, что даже после 100 итераций закрытия и открытия дверей двери, которые остались открытыми, были идеальными квадратами. (Почему бы тебе не попробовать и не увидеть магию для себя)
Второе решение
Язык: Питон
doors = [0] * 100 for x in range(10): doors[x * x - 1] = 1
Ну, это немного смешно, так как я знаю, что все идеальные двери квадратов открыты. Я итерал только один раз и просто открыл только те, которые являются идеальными квадратами. (Так же просто.)
Для получения дополнительной информации в Instagram: id: syntax_code https://www.instagram.com/syntax_code/
Оригинал: “https://dev.to/codeiswine/100-doors-397d”