metaplex   1년 전

어떤 부분에서 틀리는지 모르겠습니다...


처음 atoi 에서 overflow발생해서

atol(L)로 바꾸어 최대 1000000 1000000 1000000 1000000 인 경우도

해결하는 부분을 확인했습니다.


ㅜㅜ 힌트나 팁좀 주시면 감사하겠습니다.

baekjoon   1년 전

두 수를 이어 붙이면 수가 int, long범위를 넘어갑니다. long long을 사용해야 하는데, atol은 long으로 변환시키는 함수입니다. atoll을 사용하거나, strtoll을 사용하세요.

yukariko   1년 전

strcat을 하게되면 문자열이 더 길어지는데

배열은 8칸이 최대여서 오버플로우가 발생할 것 같습니다.

metaplex   1년 전

감사합니다.

ubuntu, gcc 를 통해 실행해 본 결과

A, B, C, D 모두 1,000,000 일 경우에 정상적으로 결과가 출력되어

질문을 올렸습니다.

strcat결과의 저장을 위한 인덱스 증축, 그리고 stoll을 사용함으로써 해결했습니다.

감사합니다.


소스는 내리겠습니다.

baekjoon   1년 전

아 그게 long은 32bit, 64bit에 따라서 담을 수 있는 크기가 달라지는데, 채점 서버가 32bit라서 long이 int와 크기가 같아서 그렇습니다.

아마 테스트해본 환경은 64bit라서 답이 나오는 것 같네요

metaplex   1년 전

항상 느끼는거지만

최백준님 자신의 결과물에 대한 관심과 책임 그리고 배려가 상당하신 것 같습니다.


많이 본받겠습니다.

baekjoon   1년 전

ㄴㅔ?

ㅋㅋㅋ 감사합니다~ 더 노력하겠습니다

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