poia0304   1년 전

어디가 틀렸는지 잘 모르겠어요..ㅠㅠ

Hibbah   1년 전

진법변환하는 함수 toN에서 문제가 될 것 같슴니당

예를들어, num=101을 n=10진법으로 분할하면 buf[] = {1, 0, 1}이 저장되어야 정상인데

작성하신 함수의 결과로는 buf[] = {1, 10}이 저장될 것 같습니다

num을 n진법으로 표현했을 때, 각 원소는 항상 n보다 작은 값으로 표현되어야 하는데,

while( num > n )에서 num == n일 경우에는 while문을 실행하지않고 빠져나와서

buf[cnt++] = num을 실행하므로 문제가 될 것 같네요


정답 받으시고 다른분들 소스보면서 공부하는것도 도움이 많이 되니까 꼭 보시길 바랍니당


poia0304   1년 전

@Hibbah

감사합니다.

또 다른 원인도 있었네요 ㅎㅎ

char로 받으면서 큰수를 제대로 못받았네요..

int로 고치고 num>=n으로 고쳐서 맞았습니다. 감사합니다.

yukariko   1년 전

질문이 해결됐을떄는 해결을! ㅋㅋ

poia0304   1년 전

@yukariko

이런게 있었군요..ㅎㅎ

댓글을 작성하려면 로그인해야 합니다.