728x90
근의 공식을 알면 구하기 쉬운 문제이다.
이때, 루트 함수인 sqrt()를 사용하면 루트를 쉽게 구할 수 있다.
루트 함수를 이용하기 위해서는 전처리에 <math.h>를 포함시켜줘야 한다.
이렇게 코드를 작성 해보았다.
바로 사이트에서 확인 결과
테스트 9번에서 통과가 안됐다.
코드를 아무리 봐도 틀린 부분을 찾지 못했는데, 곰곰히 생각한 결과
입력데이터 값이 너무 크길래, 자료형의 메모리가 너무 작아서 그런 것 아닌지 테스트를 하나 해봤다.
int형은 4bytes 자료형으로 숫자 범위는 -2,147,483,648 ~ +2,147,483,647 까지 이다.
위의 큰 숫자의 입력 데이터로 인해 4*a*c의 값이 int 자료형으로는 표현범위를 벗어나서 생기게 된 오류이다.
int형이 었던 a, b, c의 변수를 long long 형으로 변경함으로써 오류는 해결하였다.
728x90
'끄적끄적 개발공부' 카테고리의 다른 글
# 배열로 로또번호 뽑기 (1) (0) | 2021.04.10 |
---|---|
# C++ 기초 입출력 (0) | 2021.04.07 |
# for문으로 *(별)을 출력하여 도형 만들기 (0) | 2021.04.05 |
# 가위, 바위, 보 게임 (0) | 2021.04.05 |
#ATM문제 (소수점 표현) (0) | 2021.04.03 |