Điểm:
300 (p)
Thời gian:
2.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Từ thời cổ đại, mỗi chiến binh có một bộ ba loại vũ khí: một thanh kiếm laser, một lưỡi dao laser và một dao găm laser để trát bơ trên bánh mì (khi đói).
Những vũ khí này có ràng buộc về độ dài như sau:
- Chiều dài dao găm - \(d_1\), chiều dài của lưỡi dao - \(d_2\), chiều dài của thanh kiếm - \(d_3\) đều là các số nguyên tố
- \(d_1 \le d_2 \le d_3\)
- \((d_1 + d_2)^2 - 1\) chia hết cho \(d_3\)
- \((d_1 + d_3)^2 - 1\) chia hết cho \(d_2\)
- \((d_2 + d_3)^2 - 1\) chia hết cho \(d_1\)
Công ty bán bất kỳ bộ vũ khí theo số thứ tự từ điển. Cụ thể, sắp xếp tất cả các bộ theo \(d_1\) không giảm, nếu \(d_1\) như nhau thì xét \(d_2\) không giảm, và nếu \(d_1\) và \(d_2\) bằng nhau thì xét \(d_3\) tăng và đánh số chúng theo thứ tự từ \(1\) đến vô cùng.
Cho \(k\), hãy mua tập vũ khí thứ \(k\) theo thứ tự này.
Input
- Một dòng duy nhất ghi số nguyên \(k (1 ≤ k ≤ 60000)\).
Output
- In ra độ dài 3 loại vũ khí trong tập thứ \(k\).
Example
Test 1
Input
1
Output
2 2 3
Bình luận
Hint:
anh cho em hỏi là k=60000 thì sàng tới 9737954≈107 tính ntn mà ra vậy à em cảm ơn anh ạ
Vì ta có \(max(d_1, d_2, d_3)\) tại iteration \(60000\) là \(9737953\)
Anh cho em hỏi là chứng minh như thế nào với ạ, em cảm ơn a
Mình chứng minh ở đây bạn
Ta có: (d1+d2)^2-1 = (d1+d2+1) x (d1+d2-1) chia hết cho d3
Nếu d1+d2-1 là số nguyên tố thì giả sử nó là d3 (dễ chứng minh d1+d2-1 >= d2 >= d1), lại có:
(d1+d3)^2-1 = (d1+d1+d2-1)^2-1 = (2 x d1+d2-2)(2 x d1+d2) chia hết cho d2
TH1. 2 x d1 + d2 - 2 chia hết cho d2 => 2 x d1-2 chia hết cho d2 => d1-1 chia hết cho d2 (không thỏa mãn vì d1<=d2)
TH2. 2 x d1 + d2 chia hết cho d2 => 2 x d1 chia hết cho d2 => d1 chia hết cho d2, mà d1<=d2 => d1=d2.
TH còn lại CM tương tự nha em, anh xin lỗi anh hơi noob viết tutorial :v