PTSO3 - Phân tích số 3
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: nxphuc

Cho một số nguyên dương N, hãy phân tích N thành tổng của ít nhất 2 số nguyên  dương liên tiếp. Nếu có nhiều kết quả, xuất ra dãy có số lượng số hạng là ít nhất.

Dữ liệu nhập: dòng đầu tiên chứa một số nguyên T - số lượng test case (T ≤ 50000). T dòng tiếp theo, mỗi dòng chứa một số nguyên dương N (1 ≤ N ≤ 109)

Dữ liệu xuất: mỗi test case xuất ra trên một dòng. Nếu không thể phân tích thì xuất -1. Nếu có kết quả thì xuất ra theo mẫu sau: N = l + (l+1) + ... + r

Ví dụ

  • input
    4
    8
    10
    24
    35
    output
    -1
    10 = 1 + 2 + 3 + 4
    24 = 7 + 8 + 9
    35 = 17 + 18

 - N = 8 không thể phân tích thành bất kì tổng của các số liên tiếp nên xuất ra là -1

 - N = 10 có thể phân tích thành 10 = 1 + 2 + 3 + 4

 - N = 24 = 7 + 8 + 9

 - N = 35 = 2 + 3 + 4 + 5 + 6 + 7 + 8 = 5 + 6 + 7 + 8 + 9 = 17 + 18. Kết quả xuất ra là 35 = 17 + 18 vì có số lượng số hạng là ít nhất.

Back to Top