2292번 - 벌집
1부터 1000000000까지 출력은 다 나오는데 어디서 틀린걸까요....?
규칙은 계차수열 일반항 1 7 19 37 61 ....
3n^2-3n+1 썻구요.
이것보다 >= 일때 그와 같은 단계일꺼라 생각하고 풀었는데 아닌가요?
n을 %d로 받은 것이 문제가 됩니다.
초기에 long long n을 지역변수로 선언하면 n에 쓰레기값이 들어가게 되는데,
이 상태에서 %d로 n을 입력받으면 4바이트만 입력받은 수가 들어가게 되고, 나머지 4바이트는 쓰레기 값이 그대로 남게 됩니다.
이 상태로 연산을 할 때 입력받은 n과는 다른값이 적용되고, 틀린 결과가 나오게 됩니다.
따라서 입력을 %lld로 받거나, n을 전역 변수로 선언하면 문제가 없을겁니다.
댓글을 작성하려면 로그인해야 합니다.
sjy366 7년 전
1부터 1000000000까지 출력은 다 나오는데 어디서 틀린걸까요....?
규칙은 계차수열 일반항 1 7 19 37 61 ....
3n^2-3n+1 썻구요.
이것보다 >= 일때 그와 같은 단계일꺼라 생각하고 풀었는데 아닌가요?