Kiểm tra số đối xứng trong C++ | Laptrinhcanban.com

HOME › >>

Kiểm tra số đối xứng trong C++

Hướng dẫn cách kiểm tra số đối xứng trong C++. Bạn sẽ học được cách tạo hàm kiểm tra số đối xứng trong C++ sau bài học này.

Số đối xứng trong C++

Chúng ta đều biết trong toán học số nguyên n gọi là số đối xứng nếu đọc từ trái qua phải, hay từ phải qua trái đều được số giống nhau. Ví dụ: 11,121,101 là các số đối xứng.

Khái niệm số đối xứng trong C++ cũng giống như trên. Chúng ta coi một số là số đối xứng trong C++ nếu như đọc từ trái qua phải, hay từ phải qua trái số đó đều được số giống nhau.

Số đối xứng trong C++

Đây là chìa khóa thứ giúp chúng ta có thể tìm được số đối xứng trong C++.

Kiểm tra số đối xứng trong C++

Một số được coi là số đối xứng trong C++ nếu như đọc từ trái qua phải, hay từ phải qua trái số đó đều được số giống nhau. Bởi vậy để kiểm tra một số có phải là số đối xứng hay không, chúng ta đơn giản chỉ cần đảo ngược số này và kiểm tra số thu về có bằng với số đã cho hay không là xong.

Trong C++ không có hàm cài sẵn nào để đảo ngược một số chỉ định cả, bởi vậy chúng ta cần dùng tới hàm tự tạo reverse() mà Kiyoshi đã giới thiệu trong bài sau:

Và chúng ta tạo hàm kiểm tra số đối xứng trong C++ như sau:

bool laSoDoiXung(int n) {
int soBanDau = n;
int daoNguoc = 0;

while (n > 0) {
int chuSo = n % 10;
daoNguoc = daoNguoc * 10 + chuSo;
n /= 10;
}

return (soBanDau == daoNguoc);
}

Chúng ta có thể gọi hàm này và sử dụng trong chương trình nhập n kiểm tra n có phải số đối xứng không trong C++ như sau:

#include <iostream>

bool laSoDoiXung(int n) {
int soBanDau = n;
int daoNguoc = 0;

while (n > 0) {
int chuSo = n % 10;
daoNguoc = daoNguoc * 10 + chuSo;
n /= 10;
}

return (soBanDau == daoNguoc);
}

int main() {
int soNhap;
std::cout << "Nhap mot so nguyen: ";
std::cin >> soNhap;

if (laSoDoiXung(soNhap)) {
std::cout << soNhap << " la so doi xung." << std::endl;
} else {
std::cout << soNhap << " khong phai la so doi xung." << std::endl;
}

return 0;
}

Màn hình nhập liệu và kết quả kiểm tra số đối xứng trong C++ sẽ như sau:

>> Nhap so tu nhien= 1234
1234 khong phai la so doi xung

>> Nhap so tu nhien= 12321
12321 la so doi xung

>> Nhap so tu nhien= 12344321
12344321 la so doi xung

Ứng Dụng Của Số Đối Xứng:

Số đối xứng không chỉ là một đề tài thú vị trong toán học mà còn có ứng dụng trong lập trình và thực tế.

Xử Lý Dữ Liệu:

Trong xử lý dữ liệu, việc kiểm tra số đối xứng có thể được sử dụng để xác định tính chất đặc biệt của một số. Ví dụ, trong việc kiểm tra mã sản phẩm hoặc số nhận dạng, số đối xứng có thể được sử dụng để tăng cường tính nhất quán và độ chính xác.

Mật Mã Hóa và Bảo Mật:

Trong lĩnh vực bảo mật, số đối xứng có thể được sử dụng trong các thuật toán mã hóa và xác thực. Việc tạo ra các chuỗi số đối xứng có thể giúp trong việc tạo mật khẩu an toàn.

Thách Thức và Hạn Chế:

Mặc dù số đối xứng mang lại nhiều ưu điểm trong lập trình, nhưng cũng có những thách thức và hạn chế.

Giới Hạn của Kiểu Dữ Liệu:

Số đối xứng có thể trở nên khó kiểm tra đối với các số lớn khi xử dụng kiểu dữ liệu có giới hạn. Trong trường hợp này, cần xem xét sử dụng kiểu dữ liệu lớn hơn.

Hiệu Suất:

Thuật toán kiểm tra số đối xứng có thể trở nên chậm đối với các giá trị lớn. Cần cân nhắc về hiệu suất khi sử dụng trong các tình huống yêu cầu xử lý nhanh.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách tìm số đối xứng trong C++ rồi. Số đối xứng trong lập trình C++ không chỉ là một khái niệm toán học mà còn mang lại nhiều ứng dụng thực tế. Việc hiểu cách kiểm tra số đối xứng và áp dụng nó trong các tình huống cụ thể có thể giúp lập trình viên tối ưu hóa mã nguồn và giải quyết nhiều vấn đề thực tế. Tuy nhiên, cũng cần lưu ý đến các thách thức như giới hạn của kiểu dữ liệu và hiệu suất để đảm bảo rằng mã nguồn là hiệu quả và chính xác.

URL Link

https://laptrinhcanban.com/cpp/lap-trinh-cpp-co-ban/so-trong-cpp/kiem-tra-so-doi-xung-trong-cpp/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.