> 출력했을 때,
> 0000 0001 0002 0003 0010 ... 3333 이렇게 나오도록 하고 싶어서요 ㅎㅎ
이거는 4진수에요. 아래 댓글 달았는데 십진수 0에서 255까지 숫자를 4진수 문자로 출력하면 되요.
0000 0
0001 1
0002
0003
0010
0011
0012
0013
0020
...
3332 254
3333 255
---------
4진수 문자로 출력하려면,
나누기 4, 나누기 (4*4), 나누기 (4*4*4) 로.. 나머지 값을 취하면 될거에요.
고등학교 수학책에 2진수, 10진수 변환 방법이 있을거고,
대학 이산수학책에 2진수, 10진수 변환 방법이 있을거에요.
인터넷에 진수 변환 공식 검색하면 나오니까... 그렇게 구현해보세요.
ansi c 또는 posix c 에 진수 변환 함수가 있는지는 모르겠네요.
strtol 라는 문자열을 long 숫자로 바꾸는 함수가 있긴 있어요.
루비 언어로 작성한거고요.
아래는 c 언어로 작성해 봅니다.
재귀적으로 작동하지 않습니다. 만약, 4진수가 아닌 x진수에 적용하려면 재귀적으로 하는게 도움이 될 수도 있으나, 만약 어떤 문제 해결을 func1() --> func1() --> func1() ... 이런 식으로 반복이 10000 개 정도 되는 경우가 발생한다면, 에러 떨어질 겁니다. 아마 메모리 소비도 클 듯하고.
따라서 웬만하면 재귀적으로 작성하지 말고 직접 풀어서 작성하시는 것을 추천드립니다.
#include <stdio.h>int main (void){int i;for(i =0; i <256; i++){printf("%d%d%d%d\n",(i /(4*4*4))%4,(i /(4*4))%4,(i /(4))%4,(i %4));}return0;}
방법은 너무 많네요
경우의 수라는게 0,1,2,3 을 네개의 칸에 채울때 나오는거 맞나요?
4P4 로 표시되는 permutation(순열) 인듯한데
라이브러리도 많고 참조사이트도 많습니다.
당장 구글만 검색해봐도 아주 잘되어 있네요..
하지만 님이 이해하느냐 못하느냐의 차이 아닐까요 ^^
------------------------------------------------------------
ProgrammingHolic
출력했을 때,
출력했을 때,
0000 0001 0002 0003 0010 ... 3333 이렇게 나오도록 하고 싶어서요 ㅎㅎ
네 한 번 찾아보도록 할게요 감사합니다
어떻게 접근하냐라고 하시지만
어떻게 접근하냐라고 하시지만
님의 수준을 모르니 뭐라고 딱히 말씀드리기가 그래서요 ^^
생각에는 재귀라면 뭐니 뭐니 해도 피보나치 아니겠습니까 ㅋㅋ
------------------------------------------------------------
ProgrammingHolic
아직 초보라서 ㅎㅎ;; 어쨌든 좋은 조언 감사합니다
아직 초보라서 ㅎㅎ;;
어쨌든 좋은 조언 감사합니다
4진수인가요?
4진수인가요?
아뇨!! 진법 변환 이런거는 아니에요!
아뇨!! 진법 변환 이런거는 아니에요!
> 출력했을 때,
> 출력했을 때,
> 0000 0001 0002 0003 0010 ... 3333 이렇게 나오도록 하고 싶어서요 ㅎㅎ
이거는 4진수에요. 아래 댓글 달았는데 십진수 0에서 255까지 숫자를 4진수 문자로 출력하면 되요.
0000 0
0001 1
0002
0003
0010
0011
0012
0013
0020
...
3332 254
3333 255
---------
4진수 문자로 출력하려면,
나누기 4, 나누기 (4*4), 나누기 (4*4*4) 로.. 나머지 값을 취하면 될거에요.
고등학교 수학책에 2진수, 10진수 변환 방법이 있을거고,
대학 이산수학책에 2진수, 10진수 변환 방법이 있을거에요.
인터넷에 진수 변환 공식 검색하면 나오니까... 그렇게 구현해보세요.
ansi c 또는 posix c 에 진수 변환 함수가 있는지는 모르겠네요.
strtol 라는 문자열을 long 숫자로 바꾸는 함수가 있긴 있어요.
넵!! 정말 감사합니다ㅠㅠ
넵!! 정말 감사합니다ㅠㅠ
참고해서 구현해보겠습니다 :)
(0..255).each do |i| # 십진수
위 코드를 실행하면
0000
0001
0002
...
3332
3333
출력됩니다. 총 경우의 수는 0부터 255까지니까 256개입니다.
이건 무슨 언어로 작성된건가요...??
이건 무슨 언어로 작성된건가요...??
루비 언어로 작성한거고요.
루비 언어로 작성한거고요.
아래는 c 언어로 작성해 봅니다.
재귀적으로 작동하지 않습니다. 만약, 4진수가 아닌 x진수에 적용하려면 재귀적으로 하는게 도움이 될 수도 있으나, 만약 어떤 문제 해결을 func1() --> func1() --> func1() ... 이런 식으로 반복이 10000 개 정도 되는 경우가 발생한다면, 에러 떨어질 겁니다. 아마 메모리 소비도 클 듯하고.
따라서 웬만하면 재귀적으로 작성하지 말고 직접 풀어서 작성하시는 것을 추천드립니다.
친절한 설명 정말 감사합니다ㅠㅠ
친절한 설명 정말 감사합니다ㅠㅠ
잘 배우고 갑니다 ㅠㅠ
태클은 아닙니다.
재귀적으로 하는게 문제가 되는게 아니라.
재귀로 짤때 주의 해야 하는게 많은게 사실입니다.
재귀 함수를 공부하시려거든 Tail Recursion 같은거 잘 알고 하는게 좋겠죠.
익명 사용자님이 너무나 친절하게 답글 달아주셨는데 재귀함수에 대해 막연한 공포를 주는거 같아 사족 달아 봅니다.
------------------------------------------------------------
ProgrammingHolic
문자가 아닌 4진수는 너무 쉬워서,, 그냥...
문자가 아닌 4진수는 너무 쉬워서,, 그냥... 십진수 0에서 255 까지 출력하면 되겠습니다.
출력 결과를 4진수 문자로 다시 변환하면 되죠.
댓글 달기