원래 과제 및 숙제는 안하지만
심심해서 해봤습니다.
돌려보지는 않았고 그냥 메모장에 끄적여 봤습니다만
맞는지는 모르겠습니다...(무책임)
for(i=1;i<=n;i++){ //n회 반복
for(i=n-1;i<100;i+n;){ //문 열고 닫기
if(door[n]==0){
door[n]=1;
}else if(door[n]==1){
door[n]=0;
}
}
}
급히 질문..가능할까 님이 쓰신 글 :
: 문에는 순서대로 1부터 100까지 번호가 매겨져있고 문은 모두 닫혀 있다.
: 당신은 이 옷장 앞을 지나가면서 닫힌 문을 모두 열어 놓는다. 다시 원래 위치로 돌아온 당신은 이번에는 홀수 번째의
: 문은 건드리지 않고 2의 배수에 해당하는 짝수 번째의 문들의 상태를 반대로 해 놓는다. (즉, 열린 문은 닫고, 닫힌 문은 연다.)
: 다시 처음 위치로 돌아온 당신은 이번에는 다른 문은 건드리지 않고 3의 배수에 해당하는 문들의 상태를 반대로 만든다.
: 그리고 다시 처음 위치로 돌아온 당신은 다른 문은 그대로 둔 채 4의 배수에 해당하는 문들의 상태를 반대로 만든다.
:
:
: 이와 같이 작업을 실행하는 횟수가 N 번째 일 때 n의 배수에 해당하는 문의 상태를 반대로 만드는 것이다.
: N번의 반복이 모두 끝났을 때 열려있는 문은 모두 몇 개이며 그들의 번호는 어떻게 될까?
:
:
:
: 여기에서 배열을 [100] 줘서 = 0은 닫음 / 1은 열음이라고 할려고하는데요.
:
: 2의배수 짝수번쨰 문을 반대로하고 3의배수도 반대로하고 4의배수도 반대로 한다고하는데
:
: 이 걸 어떻게 .;;; 할줄 모르겠습니다..
:
: for문 4개정도 돌리면될것같다고하셨는데 ㅠㅠ... c언어로 해주실수 있으신가요.. 부탁드릴꼐요
:
: 제가 짜논게있는데 이상해서요
|