skawngus11   5년 전

안녕하세요. n을 110까지 대입했을 때는 되는데, 그 이후부터는 출력초과가 뜹니다.

j의 값이 너무 많이 계산되는거 같은데... 이걸 처리하는 방법을 모르겠습니다.

skawngus11   5년 전

방금 알게된 사실인데...

self number가 아닌 수를 구하기 위한 함수를 만들 때

int a = n / 1000; int b = (n - a * 1000) / 100; int c = (n - a * 1000 - n / 100 * 100) / 10; int d = n - a * 1000 - n / 100 * 100 - n / 10 * 10; int d_n = n + a + b + c + d;

위 식으로 쓰는 것과

return n + n % 10 + n / 10 % 10 + n / 100 % 10 + n / 1000 % 10 ;

아래 식으로 쓰는 것중 아래것이 맞다고 나오는데 이유가 궁금합니다.

dyk777   5년 전

직접 계산해 보시면 간단하게 이유를 알 수 있습니다.

n=1234라고 하면, 위의 알고리즘을 따랐을 때

a=1234/1000 = 1

b=(1234-1000)/100=2

c=(1234-1000-1200)=-96

d=(1234-1000-1200-1230)=-2196

이 나옵니다.

leengje   5년 전

self 함수의 반환값이 없는데 j가 self의 반환값을 이용하고 있네요.

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