Tìm |x-y|

Xem PDF

Điểm: 400 Thời gian: 1.0s Bộ nhớ: 192M Input: bàn phím Output: màn hình

Cho số nguyên dương \(x\).

Yêu cầu: Tìm số nguyên dương \(y\) thoả mãn 3 điều kiện sau:

  • \(y\ge 2\)

  • \(|x-y|\) đạt giá trị nhỏ nhất

  • Khi phân tích \(y\) ra thừa số nguyên tố, thì mỗi thừa số nguyên tố xuất hiện đúng \(2\) lần.

Sau khi tìm được \(y\) thoả mãn yêu cầu bài toán, in ra màn hình giá trị \(|x-y|\)

Input

  • Dòng thứ nhất chứa số \(T(1\le T\le 50)\) - thể hiện số testcase.

  • \(T\) dòng tiếp theo, mỗi dòng chứa số nguyên \(x(1\le x\le 10^{18})\)

Output

  • Ứng với mỗi testcase, in ra đáp án \(|x-y|\) cần tìm.

Example

Test 1

Input
3
3
5
35
Output
1
1
1
Note
  • Ứng với \(x=3\), ta tìm được \(y=4\). Vì \(4=2^2\)\(|y-x|=1\) đạt giá trị nhỏ nhất.

  • Ứng với \(x=5\), ta tìm được \(y=4\). Vì \(4=2^2\)\(|y-x|=1\) đạt giá trị nhỏ nhất.

  • Ứng với \(x=35\), ta tìm được \(y=36\). Vì \(36 = 2^2.3^2\)\(|y-x|=1\) đạt giá trị nhỏ nhất


Bình luận


  • 1
    huyhau6a2 3:29 p.m. 12 Tháng 3, 2022

    can chặt nhị phân for this bài toán?


    • -23
      khanhhunghack 7:05 a.m. 11 Tháng 11, 2021

      Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.


      • 15
        longkold00 3:48 p.m. 16 Tháng 10, 2021

        bài này chúng ta sẽ làm tròn a=sqrt(x). Ta nhận thấy a lúc này sẽ là 1 số đc khi phân tích thì các số nt chỉ xuất hiện 1 lần. ta sẽ kiểm tra các số xung quanh a 11 đơn vị (do sẽ luôn tồn tại 1 số nt or a thỏa mãn) + 1 biến res=LLONG_MAX để ghi lại đáp án.

        2 phản hồi

        • 3
          WuTan 10:07 a.m. 6 Tháng 4, 2021 đã chỉnh sửa

          cho em xin solution với ạ ^^

          1 phản hồi