Villa Numbers

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Clang, Clang++, Cobol, D, Groovy, Haskell, JS, Lua, Node JS, ObjectiveC, OCaml, Output, Pascal, PHP, Prolog, Python, Ruby, Rust, Scala, Swift
Điểm: 0,2 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Ở đất nước Đáy Xã Hội, người ta tin rằng những vật dụng gắn liền với con số "Villa" sẽ mang lại may mắn và giàu sang cho họ. Từ xa xưa, người dân đã định nghĩa rằng một số nguyên dương \(c\) được gọi là số "Villa" nếu \(c=b^2-a^2\) với \(a,b\) là các số nguyên dương.

Đạt Vina, là một người dân của đất nước Đáy Xã Hội mới mua một chiếc xe ô tô, anh ta muốn chọn một chọn một con số "Villa" để làm biển số cho xe anh ấy. Tuy vậy, Đạt Vina không biết chọn số nào cho hợp lý. Anh ta có một số \(c\), hãy kiểm tra giúp anh ta xem số \(c\) có phải là số "Villa" không nhé.

Input

  • Dòng 1: \(q\) \((q \le 10^4)\) - số câu hỏi
  • \(q\) dòng tiếp theo, mỗi dòng chứa một số \(c\) \((1 \le c \le 10^9)\)

Output

  • Ứng với mỗi câu hỏi:
  • Nếu tồn tại hai số nguyên dương \(a\)\(b\) thỏa mãn \(c=b^2-a^2\), hãy in ra hai số \(a\)\(b\) đó. Nếu có nhiều cặp \((a,b)\), hãy in ra một cặp bất kỳ, miễn là \(1 \le a \le b \le 10^9\)
  • Nếu không tồn tại, in ra 0 0

Example

Test 1

Input
2
16
14
Output
5 3
0 0
Note

In \(b\) trước rồi mới in \(a\) nhé.

Nguồn: Bedao contest


Bình luận


  • 0
    imamen2005    9:30 p.m. 22 Tháng 12, 2022

    mình mới nhập môn c++, cho mình hỏi bài này giải theo hướng nào hoặc cho mình xin code mẫu để tham khảo có được không ạ?


    • -1
      trieunguyen_a1    9:40 a.m. 31 Tháng 1, 2023

      Anh tách c = (a-b)(a+b) xong cái xét với c lẻ và c chẵn thôi anh ( theo code của chủ bài )


      • 0
        ngvanminh_    4:33 p.m. 31 Tháng 1, 2023

        ah ơi b^2 - a^2 thì phải là (b-a)(b+a) chứ ah nhỉ

    3 bình luận nữa