
open_Pandora
Sau tất cả thử thách, Kratos đã tìm được chiếc hộp Pandora, nhưng hộp được khóa bởi một mật mã. Mật mã được gợi ý ở trên hộp là số tự nhiên k
lớn nhất nhỏ hơn hoặc bằng n
sao cho k
có thể biểu diễn dưới dạng xy + yx
và x, y
luôn lớn hơn 1
. Hãy giúp Kratos tìm ra mật mã để mở chiếc hộp, nếu như không có đáp án hãy trả về -1
.
Ví dụ:
- Với đầu vào
n = 10
ta có8
là số duy nhất và thỏa yêu cầu (8
có thể biểu diễn dưới dạng22 + 22
và2 > 1
). Vậy đầu ra là8
. - Với đầu vào
n = 40
ta có các số thỏa yêu cầu là8, 17, 32
nhưng vì ta cần chọn số lớn nhất nên đầu ra sẽ là32
.
Đầu vào / Đầu ra:
- [Giới hạn thời gian] 0.1 giây với C, C++, 0.6 giây với Java và C#, 0.8 giây với Js, Go và Python.
- [Đầu vào] long n
n là số tự nhiên được khắc trên hộp.1 ≤ n ≤ 10^18
- [Đầu ra] long k
Số tự nhiên lớn nhất thỏa mãn yêu cầu bài toán.
Post Comment