첫번째
INPUT(4)가 아니라 왜 INPUT(5)가 되는지 모르겠어요
두번재
중간에 INPUT(1) = 1 YES or NO 이부분 해설 보면 비트가 1이면 이준수로 변환하는 것이라고 하는데
왜 1일때 이진수로 변환 하는건가요? 그리고 0이면 그레이로 변환 하는건가요?
세번째
i = 1, 3 , 1 이렇게 되는데 왜 이렇게 되는지 모르겠어요
안녕하세요.
1)
이진수 4자리의 값과 맨 앞에 이진수로 변환할지 그레이로 변환할지 판단할 1자리 값이 들어있어
총 5자리가 됩니다. 그래서 INPUT(5)가 되는 것이죠.
2)
문제에서 1인 경우 이진수로 변환, 0인 경우 그레이로 변환하기로 조건에서 지정했기 때문입니다.
조건이 반대로 지정되어 있다면 반대로 하면 되겠죠. 결론은 정하기 나름인데, 이 문제에서는 조건이 그렇게 지정되었기 때문에 1일때 이진수, 0일때 그레이로 변환하는 것입니다.
3)
알고리즘이 이해 부분에서 변환하는 과정을 다시한번 살펴보세요.
변환할 첫번째 비트의 값은 그대로 저장됩니다. 그래서 두번째 비트부터 실질적인 변환을 수행하는 것이죠.
결국 변환은 3번 수행하게 됩니다. 그래서 1부터 3까지 1씩 증가시키며 반복하는 것입니다.
오늘도 즐거운 하루 되세요.
"-
*2012-03-12 09:47:02
안녕하세요.
1)
이진수 4자리의 값과 맨 앞에 이진수로 변환할지 그레이로 변환할지 판단할 1자리 값이 들어있어
총 5자리가 됩니다. 그래서 INPUT(5)가 되는 것이죠.
2)
문제에서 1인 경우 이진수로 변환, 0인 경우 그레이로 변환하기로 조건에서 지정했기 때문입니다.
조건이 반대로 지정되어 있다면 반대로 하면 되겠죠. 결론은 정하기 나름인데, 이 문제에서는 조건이 그렇게 지정되었기 때문에 1일때 이진수, 0일때 그레이로 변환하는 것입니다.
3)
알고리즘이 이해 부분에서 변환하는 과정을 다시한번 살펴보세요.
변환할 첫번째 비트의 값은 그대로 저장됩니다. 그래서 두번째 비트부터 실질적인 변환을 수행하는 것이죠.
결국 변환은 3번 수행하게 됩니다. 그래서 1부터 3까지 1씩 증가시키며 반복하는 것입니다.
오늘도 즐거운 하루 되세요.
"