Số chính phương thuận nghịch là một số chính phương mà khi đảo ngược thứ tự các chữ số của nó thì vẫn thu được một số chính phương.
Ví dụ:
- Số chính phương thuận nghịch nhỏ nhất là 1, vì 1 đọc từ trái qua phải và từ phải qua trái đều là 1.
- Các số chính phương thuận nghịch khác gồm: 4, 9, 121, 484, 676, và cứ tiếp tục như vậy.
Để kiểm tra một số có phải là số chính phương thuận nghịch, ta có thể tính căn bậc hai của số đó, kiểm tra xem kết quả có phải là một số nguyên và sau đó so sánh số ban đầu với số chính phương thu được. Nếu hai số này bằng nhau, thì số đó là số chính phương thuận nghịch.
Ví dụ trong Java:
public class Main {
public static boolean isPalindrome(int number) {
int sqrt = (int) Math.sqrt(number);
return sqrt * sqrt == number;
}
public static void main(String[] args) {
int number = 121;
boolean isPalin = isPalindrome(number);
if (isPalin) {
System.out.println(number + " là số chính phương thuận nghịch.");
} else {
System.out.println(number + " không là số chính phương thuận nghịch.");
}
}
}
Ở đây, chúng ta sử dụng phương thức isPalindrome()
để kiểm tra xem một số có phải là số chính phương thuận nghịch hay không. Dưới đây là giải thích chi tiết về cách hoạt động của mã nguồn này:
- Phương thức
isPalindrome(int number)
:- Đầu tiên, chúng ta tính căn bậc hai của số
number
bằng cách sử dụng phương thứcMath.sqrt(number)
. Do đây là một phép tính dấu chấm động, nên chúng ta ép kiểu kết quả về kiểuint
bằng cách sử dụng(int)
trướcMath.sqrt(number)
để lấy phần nguyên. - Tiếp theo, chúng ta kiểm tra xem có thoả mãn điều kiện
sqrt * sqrt == number
hay không. Nếu điều kiện này đúng, tức là căn bậc hai của sốnumber
là một số nguyên vànumber
là một số chính phương thuận nghịch, chúng ta trả vềtrue
. Ngược lại, nếu điều kiện sai, chúng ta trả vềfalse
.
- Đầu tiên, chúng ta tính căn bậc hai của số
- Phương thức
main(String[] args)
:- Trong phương thức
main
, chúng ta khởi tạo một biếnnumber
là số cần kiểm tra. - Tiếp theo, chúng ta gọi phương thức
isPalindrome(number)
để kiểm tra xemnumber
có phải là số chính phương thuận nghịch hay không. Kết quả trả về được gán cho biếnisPalin
. - Cuối cùng, chúng ta in ra thông báo phù hợp dựa trên giá trị của
isPalin
.
- Trong phương thức
Với ví dụ trong mã nguồn trên, khi chạy chương trình, nó sẽ kiểm tra xem số 121 có phải là số chính phương thuận nghịch hay không. Vì 121 là số chính phương thuận nghịch (căn bậc hai của 121 là 11), nên thông báo được in ra là “121 là số chính phương thuận nghịch.”