dhkang01   3년 전

일단, 나누기 연산은 x/y, 제곱연산은 powl(x, y), 루트 연산은 (ll) sqrtl(x)을 사용해야합니다.

소수점이 나오면 '0에 가까운 값'으로 사용한다는 조건 때문에 위의 연산들이 맞게 됩니다.

힘들게 반올림하여 사용하게 하면 틀립니다.


입력 받을 때 stoi가 아니라 stoll을 사용해야 합니다.

^은 연산방향이 오른쪽에서 왼쪽으로라는 것을 잊지 맙시다.

괄호 앞에 #가 있을 수 있습니다!

아래는 예제가 모두 맞았지만 왜 틀리는지 모르겠을 때 확인해야 할 테스트케이스입니다.

dhkang01   3년 전

위에서 제시한 함수들은 LINUX환경에서만 정상적으로 작동하는 듯 합니다.

57번째 줄의 경우에는 위의 답이 정답이 맞지만 윈도우에서는 다른 결과가 나올 수 있는 듯합니다.

playsworld16   3년 전

제가 틀린 반례 하나 추가합니다.


input:

#(25)=

output:

5

jh05013   3년 전

제가 틀린 반례 추가합니다.

C++로 풀지 않아서 나눗셈을 직접 구현하다가 부동소숫점을 써버렸습니다.

ujtel1234   2년 전

반례 #9223372030926249000=

3037000498

에서 실제로 해보면

3037000499가 나오는데 (윈도우입니다.)

이때는 어떻게 해야되죠 큰수 말고는 다 되는거같은데

ujtel1234   2년 전

아 해결했습니다 라이브러리가 정확하지 않군요

cubic   1년 전

사실상 제곱과 제곱근은 그냥 직접 구현하셔도 상관 없구요

제가 풀면서 썼던 테스트 케이스 공유 드립니다.

스택없이 나이브하게 푸느라 굉장히 간단한 케이스에서 오류가 났습니다.

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