Created
June 5, 2017 15:34
-
-
Save nattybear/8ada175b8f6332b92f2e57dd8ec938ea to your computer and use it in GitHub Desktop.
정보처리 알고리즘 문제를 C언어로 구현
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
int main() { | |
// 2진수가 저장될 배열 A를 선언한다. | |
int A[10] = {}; | |
int B; | |
// 2진수로 변환할 10진수를 입력 받는다. | |
scanf("%d", &B); | |
int BB = B; | |
// C는 1씩 누적되며 증가하는 변수이므로 0으로 초기화한다. | |
int C = 0; | |
int MOK; | |
do { | |
// 배열의 위치를 계산하기 위해 C를 1씩 증가시킨다. | |
C = C + 1; | |
// 10진수를 2로 나눈 몫을 MOK에 저장한다. | |
MOK = B / 2; | |
// 10진수를 2로 나눈 나머지를 NMG에 저장한다. | |
int NMG = B % 2; | |
// 나머지를 배열에 저장한다. 배열의 뒤쪽에서부터 차례대로 | |
// 저장되도록 처리한다. | |
A[10 - C] = NMG; | |
// 몫인 MOK를 다시 2로 나누기 위해 MOK를 저장한다. | |
B = MOK; | |
} while (MOK != 0); | |
// 입력 받은 10진수 BB를 출력한다. | |
printf("%d\n", BB); | |
// 2진수가 들어 있는 첫 번째 위치를 계산한다. | |
int K = 10 - C; | |
for (int i=0; i<10; i++) | |
printf("%d", A[i]); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
배열의 시작을 0부터 세기 VS 1부터 세기
K = 11 - C
라고 나온거야C언어의 배열을 알면 알고리즘 문제가 쉽다
1바이트? 8비트?
ENDIAN
문제와 이 문제가 비슷하다고 느껴서 이 문제와ENDIAN
문제를 혼동한 것 같아