Điểm:
400
Thời gian:
1.0s
Bộ nhớ:
256M
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\) và \(|y-x|=1\) đạt giá trị nhỏ nhất.
-
Ứng với \(x=5\), ta tìm được \(y=4\). Vì \(4=2^2\) và \(|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\) và \(|y-x|=1\) đạt giá trị nhỏ nhất
Bình luận
can chặt nhị phân for this bài toán?
Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.
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.
cho em xin solution với ạ ^^