100개의 문

100개의 문



이름이 이상하지만 for 루프를 만드는 것만큼 쉽습니다.

문제 설명 :



연속으로 100개의 문이 모두 처음에는 닫힙니다.
당신은 문을 통해 100 패스를 만듭니다.
처음 통과할 때는 모든 문을 방문하여 문을 토글합니다(문이 닫혀 있으면 열고, 열려 있으면 닫습니다).
두 번째는 두 번째 문(2, 4, 6, ...)마다 방문하여 토글합니다.
세 번째는 100번째 문만 방문할 때까지 3번째 문(3번, 6번, 9번, ...)마다 방문합니다.
그리고 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


모든 완벽한 사각형 문이 열려 있다는 것을 알고 있기 때문에 이것은 조금 우스꽝스럽습니다. 한 번만 반복하고 완전제곱수만 열었습니다. (그만큼 쉽습니다.)

인스타그램에서 저를 팔로우하세요.
id : 구문 코드

좋은 웹페이지 즐겨찾기