반응형
이진수를 십진수로 변경 하는 방법은 다음과 같다.
1111...1 처럼 1 이 n 개가 있는 경우
앞에서 부터 1 * 2 ( n -1 승) + 1 * 2 ( n - 2 승) .... + 1 * 2 ( 0 승) 으로 구한다.
1111 의 십진수는 1 * 2(3승) + 1 * 2(2승) + 1 * 2(1승) + 1 * 2(0승) = 8 + 4 + 2 + 1 = 15 와 같이 구해진다.
프로그램으로 구현 시
n 개 만큼 루프를 돌면서
바로 앞의 데이터에 2를 곱한 후 현재의 데이터를 합하면 된다.
예를 들면 1011 의 데이터 값을 구할때 다음과 같다.
0 * 2 + 1 = 1
1 * 2 + 0 = 2
2 * 2 + 1 = 5
5 * 2 + 1 = 11
반응형
'정보올림피아드수학' 카테고리의 다른 글
사탕 먹기 게임 (0) | 2020.08.21 |
---|---|
개미의 이동 (0) | 2020.08.19 |
제일 짧은 노선의 경로 갯수 구하기 (0) | 2020.08.18 |
한붓그리기 (0) | 2013.09.23 |
숫자 개수를 구하는 문제 (1) | 2013.09.23 |