Wikipedia 에 따르면 강력한 Darboux 기능은
비어 있지 않은 모든 열기 간격의 이미지가 전체 실제 선인 이미지
즉, 함수 3, 임의의 실수 주어진 경우, 강하게 Darboux이다 , B 및 Y를 , 발견하는 것이 가능하다 (X) (구별) 사이를 및 B 되도록 F ( X ) = Y .
이 도전의 목적을 위해, 우리는 대신 합리적인 다 보스 기능을 고려할 것입니다.
당신의 도전은 다음과 같은 프로그램이나 기능을 작성하는 것입니다.
- 모든 유리수 입력에 대한 출력으로 유리수를 제공합니다.
- 주어진 입력에 대해 항상 동일한 출력을 제공합니다.
- 강력한 Darboux 속성이 있습니다.
입력 및 출력은 다음 중 하나 일 수 있습니다.
- 언어에 언어가 있거나 하나의 라이브러리 (예 : GMP)가있는 경우 임의 정밀도 숫자 유형.
- 숫자의 문자열 표현은 항상 소수점과 양쪽에 하나 이상의 숫자를 포함한다고 가정 할 수 있습니다. 그것은 어떤 기준 수있다 이지만 입출력 동일한베이스에 있어야한다. 숫자와 소수점에 문자 세트를 사용할 수 있습니다 (다시 입력과 출력간에 일관되어야 함).
입력은 항상 종료베이스 확장을 갖습니다 . 기능 선택에 따라 이론적으로 비 종료베이스 확장이있을 수있는 출력은 다음 중 하나를 선택할 수 있습니다.
- 숫자를 영원히 출력합니다.
- 추가 정수를 입력으로 사용하고 최소한 그 숫자를 출력하십시오.
- 입력에있는 수만큼의 자릿수를 출력합니다 (후행 0을 포함 할 수 있음).
이 과제의 특성상 위의 옵션 2에 설명 된 두 번째 입력을 제외하고 숫자를 표준 숫자 유형으로 표현할 수 있다고 가정 하는 규칙은 적용 되지 않습니다 .
종료되지 않는 합리성에만 정의 된 기능을 가진 허점을 피하려면 제출물 이 실제로 원하는 값 에 임의로 근접하여 출력을 생성 할 수 있어야합니다 . 공식적으로, 유리수에게 주어진 , B , Y , 및 ε을 , 합리적인 번호가 있어야 X 이 선택한 자료의 종료 등 그 < X < B 와 | f ( x ) − y | < ε .
몇 가지 아이디어를 제공하기 위해 Conway base 13 기능에 대한 설명은 다음과 같습니다.
- 를 밑 13으로 변환 하고 소수점을 제거합니다.
- 결과가 이면, 여기서 및 는 0에서 9까지의 숫자로만 구성되며 .
- 결과가 인 경우, 여기서 및 는 0에서 9까지의 숫자로만 구성되며 .
- 그렇지 않으면 입니다.
이 기능은 강력하게 Darboux입니다. 예를 들어 123.456 13 과 123.457 13 사이 에서 f ( x ) = 7.89가 되는 를 찾고 싶다고 가정 해 봅시다 . base-13 값 123.456 A 7 C 89 13 은이 요구 사항을 충족합니다.
제출하는 것이이 기능의 구현 일 수 있지만 구현하기 훨씬 짧은 다른 강력한 Darboux 기능이 있다고 생각합니다. :)