trang chủ / đề bài / nearfrac

Phân số gần nhất

Đề bài

Mô tả

Cho ba số nguyên dương x, y, n. Hãy tìm phân số ab gần với xy nhất trong số những phân số có mẫu số không vượt quá n.

Nói cách khác, cần tìm cặp số nguyên a, b thoả mãn 1≤b≤n và 0≤a sao cho giá trị |xy−ab| nhỏ nhất có thể.

Nếu có nhiều phân số cùng đạt khoảng cách nhỏ nhất, hãy chọn phân số có mẫu số nhỏ nhất. Nếu vẫn còn nhiều phân số, hãy chọn phân số có tử số nhỏ nhất. Phân số ab không nhất thiết phải ở dạng tối giản.

Dữ liệu vào

Một dòng duy nhất chứa ba số nguyên x, y, n.

Dữ liệu ra

In ra phân số cần tìm theo đúng định dạng a/b.

Ràng buộc

  • 1≤x,y,n≤105

Ví dụ

Input Output Giải thích
3 7 6 2/5 37≈0,428571. Với mẫu số không quá 6, phân số gần nhất là 25=0,4 với sai khác ≈0,028571. Các ứng viên khác đều xa hơn, chẳng hạn 12 và 36 đều lệch ≈0,071429.
7 2 4 7/2 Mẫu số 2 không vượt quá 4 nên lấy được đúng 72, sai khác bằng 0. Phân số 144 cũng có sai khác bằng 0 nhưng mẫu số lớn hơn nên bị loại.
1 2 1 0/1 Mẫu số bắt buộc bằng 1. Cả 01 và 11 đều cách 12 đúng 0,5, nên chọn phân số có tử số nhỏ hơn.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0