서론
살다살다 군대에서 코딩을 하게 될 줄은 몰랐습니다..
오늘 공부한 문제는 코드트리-두 실수의 곱 출력입니다.
문제 설명
- 이 문제는 두 실수형 변수 a,b에 5.26, 8.27이라는 실수를 담아 두 수의 곱을 반올림하여 소수점 3자리까지만 출력하면 되는 간단한 문제였습니다.
문제 접근 방법
- 코딩에서 손을 땐지 5개월 정도 되니 어떻게 해야할지 감을 잡기 어려웠습니다..
- 각 실숫값이 소수점 2자리로 이루어져 있기에 각 숫자에 100을 곱해 서로 곱하고(a 100 b * 100), 1의 자릿수에서 반올림 한 뒤, 다시 10000을 나눠 소수점 3자리까지 출력하는(...) 비효율적인 방식을 채택해보았습니다.
문제 해결 과정
- 정수형 변수 c를 선언, ab10000을 저장합니다.
2.c의 1의 자릿수를 확인, 1의 자릿수에서 반올림 계산을 실시합니다.
3.다시 c를 10000으로 나눈 값을 출력합니다.
주의사항
- c는 정수형 변수이므로 (float)를 추가하거나 10000.0으로 값을 나눠 소숫값이 소실되지 않도록 합니다.
- c++의 경우, cout << fixed; , cout.precision(n); 을 출력 전에 집어넣어 소수점 n자리까지 값이 출력되도록 조정할 수 있습니다.
결과
여담
- 문제 해결 후 찾아보니 cmath에 round()라는 반올림 함수가 있더군요..
- 다음 번엔 round()함수로 간단하게 구현해야겠습니다.
- 휴대폰으로 코딩하기 쉽지 않은 것 같습니다..