당신은 정치 웹 사이트를 실행 하고 것으로 확인되었습니다 사람들이 더 나은 직관적 인 이해를 이기고 선거 손실 가능성이로 표현되는 경우 비율 그것이로 표현 때보 ( "5 7") 비율 ( "71 %" ).
그러나 "58 in 82"와 같이 혼동되는 비율을 표시하지 않으려는 경우, 정확하지 않더라도 이해하기 쉽기를 원합니다.
따라서 0.1 %와 99.9 % 사이의 비율로 다음 규칙을 사용하여 가장 이해하기 쉬운 " x in y " 비율을 반환합니다 .
- 대부분의 값 (아래 예외 참조)은 10 이하 의 가장 가까운 비율을 반환해야합니다 . 55 %는 "11/20"이 아니라 "5/9"를 반환해야합니다.
- 비율은 최저 조건 으로 줄여야합니다 . 65 %는 "4 in 6"이 아닌 "2 in 3"을 반환해야합니다.
- 10 % 미만의 값은 " 1 in n " 형식 의 가장 가까운 비율을 반환해야합니다. 여기서 n 은 (10,12,15,20,30,40,50,60,70,80,90,100) 중 하나입니다 . 예를 들어 6 %는 "1 in 15"를 반환해야합니다.
- 90 %를 초과하는 값은 " n-1 in n " 형식 의 가장 가까운 비율을 반환해야합니다. 여기서 n 은 (10,12,15,20,30,40,50,60,70,80,90,100) 중 하나입니다 . 예를 들어 98.7 %는 "79 in 80"을 반환해야합니다.
- 1 % 미만의 값은 " <1 in 100 "을 반환해야합니다.
- 99 %가 넘는 값은 " > 99 in 100 "을 반환해야합니다.
또는 다른 방법으로 생각하기 위해 프로그램은 다음 가능한 출력에서 가장 가까운 비율을 반환해야 합니다 (편의를 위해 대략적인 값을 포함했습니다).
<1 in 100
1 in 100 = 1.00%
1 in 90 = 1.11%
1 in 80 = 1.25%
1 in 70 = 1.43%
1 in 60 = 1.67%
1 in 50 = 2.00%
1 in 40 = 2.50%
1 in 30 = 3.33%
1 in 20 = 5.00%
1 in 15 = 6.67%
1 in 12 = 8.33%
1 in 10 = 10.00%
1 in 9 = 11.11%
1 in 8 = 12.50%
1 in 7 = 14.29%
1 in 6 = 16.67%
1 in 5 = 20.00%
2 in 9 = 22.22%
1 in 4 = 25.00%
2 in 7 = 28.57%
3 in 10 = 30.00%
1 in 3 = 33.33%
3 in 8 = 37.50%
2 in 5 = 40.00%
3 in 7 = 42.86%
4 in 9 = 44.44%
1 in 2 = 50.00%
5 in 9 = 55.56%
4 in 7 = 57.14%
3 in 5 = 60.00%
5 in 8 = 62.50%
2 in 3 = 66.67%
7 in 10 = 70.00%
5 in 7 = 71.43%
3 in 4 = 75.00%
7 in 9 = 77.78%
4 in 5 = 80.00%
5 in 6 = 83.33%
6 in 7 = 85.71%
7 in 8 = 87.50%
8 in 9 = 88.89%
9 in 10 = 90.00%
11 in 12 = 91.67%
14 in 15 = 93.33%
19 in 20 = 95.00%
29 in 30 = 96.67%
39 in 40 = 97.50%
49 in 50 = 98.00%
59 in 60 = 98.33%
69 in 70 = 98.57%
79 in 80 = 98.75%
89 in 90 = 98.89%
99 in 100 = 99.00%
>99 in 100
다른 규정 :
- 숫자 입력은 0.1 ~ 99.9 범위 또는 0.001 ~ 0.999 범위 중 더 편리한 방법 일 수 있습니다. 유효 숫자는 3 자리 이상이어야합니다.
- 동등한 분수 ( "3/4")가 아닌 비율 ( "3 in 4")을 출력해야합니다 .
- 입력과 거의 같은 비율이 두 개 있으면 프로그램에서 하나를 반환 할 수 있습니다. 7.5 %는 "1 in 12"또는 "1 in 15"를 반환 할 수 있습니다.
- 선행 / 트레일 링 공백 및 / 또는 새 줄은 괜찮습니다.
예 :
Input : Output
0.5 : <1 in 100
1.0 : 1 in 100
1.5 : 1 in 70
7.5 : 1 in 15 or 1 in 12 (either is acceptable)
9.2 : 1 in 10
13.1 : 1 in 8
29.2 : 2 in 7
29.3 : 3 in 10
52.7 : 1 in 2
52.8 : 5 in 9
72.0 : 5 in 7
73.9 : 3 in 4
88.8 : 8 in 9
90.8 : 9 in 10
94.2 : 19 in 20
98.7 : 79 in 80
98.9 : 89 in 90
99.0 : 99 in 100
99.1 : >99 in 100
이것은 코드 골프 도전이며 각 언어에서 가장 짧은 코드가 승리합니다.
( 소수점 과 유사하지만 중복되지 않음 : 10 진수를 분수 , 가장 가까운 분수 , n 자리 정밀도의 근사 부동 소수점 수로 변환 )
If there are two ratios equally close to the input, your program can return either one. 7.5% could return "1 in 12" or "1 in 15"
그것은 우리도 돌아올 수 있다는 것을 의미합니까7 in 100
? Btw1 in 14
는이 경우 입력에 더 가깝습니다.