yunss01   1년 전

atoi 함수를 쓰면 편하게 할 수 있는 건 알겠는데 이렇게 하면 안되는 이유가 뭔가요?

다른 예제는 다 잘 되는 거 같은데 25 / 7000000000000000000000000 이거 할 때만 답이 88로 나오네요.. 확인해보니까 sum에 num%10 값을 더할 때 0이 아닌 매번 다른 값들이 더해지던데 왜 그런가요..?

seawon0808   1년 전

long에 7000000000000000000000000를 담지 못합니다.

yunss01   1년 전

seawon0808

long long 으로 해도 마찬가지인가요?

yunss01   1년 전

아하... long long으로 해도 7000000000000000000000000를 못담는 군요. 그래서 처음부터 숫자로 안받고 문자로 받아서 한 글자씩 숫자로 변형해서 하는 거군요

그럼 atoi함수를 써서 하는 것도 결국엔 변수에 7000000000000000000000000를 받아야하는데 저 크기를 변수가 못 받으니까 안되는 건가요? 몇 번 해봤는데 안되길래 atoi 함수 안 쓰고 한 글자씩 아스키코드에서 0값 빼서 하는 방법으로 풀었거든요

seawon0808   1년 전

주어지는 수가 양수라는 가정 하에 7000000000000000000000000을 unsigned long long에 담을 수는 있지만 문제에 수의 범위가 없으므로 문자열로 푸는 것이 맞는 것 같습니다.

알고리즘 분류도 수학, 문자열, 사칙연산 입니다.

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