Cho một số thập phân k, tìm số nguyên nhỏ nhất nsao cho căn bậc hai nnằm trong kmột số nguyên. Tuy nhiên, khoảng cách nên là khác không - nkhông thể là một hình vuông hoàn hảo.
Cho trước k, một số thập phân hoặc một phân số (tùy theo bạn dễ dàng hơn), như vậy 0 < k < 1, xuất ra số nguyên dương nhỏ nhất nsao cho chênh lệch giữa căn bậc hai nvà số nguyên gần nhất với căn bậc hai nnhỏ hơn hoặc bằng knhưng khác không .
Nếu ilà số nguyên gần nhất với căn bậc hai của n, bạn đang tìm kiếm đầu tiên nở đâu 0 < |i - sqrt(n)| <= k.
Quy tắc
- Bạn không thể sử dụng triển khai không đủ số ngôn ngữ của một số nguyên để tầm thường hóa vấn đề.
- Mặt khác, bạn có thể cho rằng
ksẽ không gây ra vấn đề với, ví dụ, làm tròn điểm nổi.
Các trường hợp thử nghiệm
.9 > 2
.5 > 2
.4 > 3
.3 > 3
.25 > 5
.2 > 8
.1 > 26
.05 > 101
.03 > 288
.01 > 2501
.005 > 10001
.003 > 27888
.001 > 250001
.0005 > 1000001
.0003 > 2778888
.0001 > 25000001
.0314159 > 255
.00314159 > 25599
.000314159 > 2534463
Đầu vào trường hợp thử nghiệm được phân tách bằng dấu phẩy:
0.9, 0.5, 0.4, 0.3, 0.25, 0.2, 0.1, 0.05, 0.03, 0.01, 0.005, 0.003, 0.001, 0.0005, 0.0003, 0.0001, 0.0314159, 0.00314159, 0.000314159
Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.