Рубрики
Без рубрики

100 дверей

100 дверей название странное, но не беспокоиться о том, что это так просто, как сделать петлю …. Теги с питоном, программированием, кодированием, проблемой.

Имя странное, но не беспокоиться о том, что это так просто, как сделать петлю.

Постановка задачи:

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”