4개의 댓글이 있습니다.
-
-
Being -
수학과 출신이라시니까 주제넘게 조금 더 설명을 드리자면:
실수 집합은 uncountable set이라 이산적인 기계인 컴퓨터에서는 표현이 불가능합니다. 뭐 어떻게 표현한다 치더라도 그리 실용적이지는 않고요. 그래서 소위 "scientific notation"이라 부르는 부동소수점 연산을 통해 실수를 표현하게 되는데, 이게 전체 실수 집합을 커버하는 것은 당연히 아니고, 굉장히 드문드문 표현하기 때문에 정밀도가 필요한 경우에는 그냥 사용하기 어려운 경우가 가끔 있습니다. 조금 더 생각해보면 사실 이 문제에서 다루는 수는 유리수에 한정되는데.. 힌트는 여기까지만 드리겠습니다.
9년 전 link
-
-
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
tnehtanf
Winner Rate = M / N * 100 입니다.
일단 100% 가 나오는.. (M==N) 인 경우는 제외하고,
정수부분과 소수부분으로 나눠서
M / N * 100 = r + e ...(0<=e<1), (0<=r<100) in Z
으로 표현 가능합니다.
이후에 답을 찾기 위한 방법으로 수식을 풀어보면
(M+x)/(N+x)*100 >= r+1 을 만족하는
가장 작은 정수 x 를 구하면 됩니다.
위 수식을 잘 정리하면
x >= { (r+1)*N - 100*M } / (99-r) ...(r != 99)
이 됩니다.
여기서 % 값을 소수점 이하 버리기로 계산하기 때문에
99% 인 경우는 100%가 되는 것이 불가능하고
그래서 첫 r 이 99 이상이면 pass..
정말 그냥 저렇게 풀어봤어요... 하..하하...
자료형의 문제점을 딛고 이게 답이다! 라고 생각했지만
3번의 오답 후...
질문 드립니다.
대체 뭐가 문제인지 알수가 없네요.
한줄기 빛.. 부탁드립니다. 꾸벅.
import java.util.Scanner;
public class Main
{
private static int Answer;
private static int C;
private static double N;
private static double M;
}
9년 전