출력해야할 숫자가 커지다 보니 상대적으로 의미가 적은 소수점 부분이 반올림되어서 출력되었기 때문입니다.
소수점 출력을 강제하려면 cout << fixed << setprecision(10);
을 출력 전에 하시면 고정적으로 소수점이하 10자리를 출력합니다.
그러니 #include <iomanip>
를 하시고cout << min;
부분을 cout << fixed << setprecision(원하는 소수 자릿수) << min;
로하시면 됩니다.
mjkim103301 4년 전
입력
2 2
1 1000000
했을때 답이 499999.5 가 나와야 하는데 저는 500000이 나와 오차가 0.5 발생합니다.
평균과 표준편차의 자료형을 long double로 바꿔도 오차가 0.5 나옵니다.
그런데 double은 8바이트라서 충분히 표현할 수 있는 숫자인것 같은데 오차가 많이 나와서 어디를 고쳐야 하는지 모르겠습니다ㅠㅠ