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