LÁT GẠCH

View as PDF

Submit solution

Points: 100.00 (partial)
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Bạn An mới xây nhà. Khi xây xong, bạn An cần mua gạch để lát diện tích căn nhà ~n*m~ của mình. Sau khi lát xong nhà, bạn An nhận ra rằng:

Tất cả các viên gạch đều hình vuông và có diện tích là ~1*1~. Khi ghép nhiều viên gạch với nhau sẽ ra được một hình vuông to hơn. Và cứ như vậy, cứ ghép một hình vuông to hơn với nhiều hình vuông to hơn nữa thì sẽ có them một hình vuông to hơn nữa. An thích thú và đếm tổng số hình vuông trong căn nhà của mình. Linh đến chơi và được An cho biết số hình vuông thú vị đó. Tuy nhiên, vì không phải là người xây nhà nên An không biết các số ~m, n~ là bao nhiêu. Các bạn hãy lập trình giúp Linh nhé. Vì có rất nhiều căn nhà thỏa mãn nên hãy in ra tất cả nhé.

Dữ liệu: Số nguyên ~x~ là số hình vuông

Kết quả:

  • Số nguyên ~k~, số căn nhà thỏa mãn.
  • ~k~ dòng sau, mỗi dòng in ra một cặp số nguyên ~m, n~ thỏa mãn. (in ra theo thứ tự tang dần của ~n~).
Ví dụ:
INPUT
8
OUTPUT
4
1 8
2 3
3 2
8 1

Hạn chế:

  • 30% số điểm ~x~ <= ~10^3~
  • 70% số điểm có ~x~ <= ~10^{18}~

Comments

Please read the guidelines before commenting.


There are no comments at the moment.