왜 멈추는 수가 있고 안멈추는 수가 있는지 모르겠습니다.

leechi35 Reply 8 years 51 weeks ago
알고리즘이 정확한지는 모르겠지만 대체 왜 3,7등을 넣었을때는 결과값이 나오는데 9901, 17같은수를 넣으면 무한루프를 도는지 모르겠습니다.
pichulia Reply 8 years 51 weeks ago
끝자리 수부터 1을 만들어 나간다는 발상은 신선했으나 안타깝게도 어딘가 놓친 부분이 있네요... 예를 드신 17을 봅시다. 1의 자리수가 7이므로 3을 곱해서 51을 만들고 이제 이 나머지 5에서 17의 배수를 더해 다시 1을 만든다는 생각인데... 지금 n=5는 마지막 else문에 들어가니까 여기서 34가 더해져서 n이 39가 되겠죠? 그 다음 함수에 들어가면 39의 1의 자리수가 9니까 9를 곱해서 n은 351이 되고 1의 자리수가 1이 되었습니다.... 자 그럼 봅시다. 3511은 17의 배수인가요? 위의 과정에서 어디가 잘못된걸까요?
leechi35 Reply 8 years 51 weeks ago
n=5 에서 while문으로 n=17*8+5=141이 될때까지 더해주는거 아닌가요?ㅠㅠ 왜 39에서 나오게 되는지 모르겠습니다.
pichulia Reply 8 years 51 weeks ago
그게 중요한게 아닙니다ㅋㅋ 뭐...예제 들다가 실수한 제 잘못이 없는건 아니지만.,어쨌든 계산과정에서 17의 배수가 안되는 수가 튀어나온다는게 중요한거죠