태스크:
귀하의 프로그램은 형식에 따라 적절 하고 긍정적 인 간단한 분수 를 <numerator>/<denominator>
받습니다.
이 입력의 경우 두 개의 분수를 찾아야합니다.
- 입력 값보다 작은 분수입니다.
- 입력 값보다 큰 분수입니다.
두 분수 모두 입력 값보다 분모가 낮아야합니다. 가능한 모든 분수 중에서 입력과 가장 낮은 차이를 가져야합니다.
산출:
프로그램의 출력은 다음과 같아야합니다.
- 형식에서 입력보다 작은 분수입니다
<numerator>/<denominator>
. - 뒤에 공백 문자 (ASCII 코드 32)가옵니다.
- 형식에서 입력보다 큰 분수가 뒤에옵니다
<numerator>/<denominator>
.
다음과 같이
«fraction that is < input» «fraction that is > input»
규칙 :
- 출력 된 모든 분수 는 가장 낮은 용어 이어야합니다 .
- 출력 된 모든 분수는 적절한 분수 여야합니다.
- 규칙에 의해 허용되는 적절한 분수가없는 경우
0
분수 <입력1
대신 분수> 입력 대신 출력해야합니다 . - 분수를 명령 줄 인수 (예 :)로
yourprogram.exe 2/5
받거나 사용자 입력 프롬프트 로 받을지 여부를 선택할 수 있습니다 . - 프로그램이 유효하지 않은 입력을받지 못한다고 가정 할 수 있습니다.
- 가장 짧은 코드 (모든 언어로 된 바이트)가 이깁니다.
비표준 명령 줄 인수 (일반적으로 스크립트를 실행하는 데 필요하지 않은 인수)는 총 문자 수에 포함됩니다.
프로그램 이하지 말아야 할 것 :
- 외부 자원에 의존하십시오.
- 특정 파일 이름이 있어야합니다.
- 필요한 출력 이외의 것을 출력하십시오.
- 실행하는 데 시간이 오래 걸립니다.
179565/987657
일반 가정 사용자의 컴퓨터에서 6 자리 분자와 분모가있는 분수 (분수)에 대해 프로그램이 1 분 이상 실행되면 유효하지 않습니다. 0
분모가있는 분수를 출력 합니다. 0으로 나눌 수 없습니다.0
분자를 분수로 출력 합니다. 프로그램은0
분수 대신 출력해야합니다 .- 입력 된 분수를 줄입니다. 입력으로 제공된 분수가 환원 가능한 경우 입력 된 분수를 사용해야합니다.
- 이 과제를 게시하기 전에 공개적으로 사용 가능한 컴파일러 / 인터프리터가없는 프로그래밍 언어로 프로그램을 작성해서는 안됩니다.
예 :
입력 : 2/5
출력 : 1/3 1/2
입력 : 1/2
출력 : 0 1
입력 : 5/9
출력 : 1/2 4/7
입력 : 1/3
출력 : 0 1/2
입력 : 2/4
출력 : 1/3 2/3
입력 : 179565/987657
출력 : 170496/937775 128779/708320
1/3 1/2
입니다.