Tính Tổng Các Giá Trị đối Xứng Trong Mảng Gồm Các Số Nguyên.
Có thể bạn quan tâm
Bài toán: Hãy tính tổng các giá trị đối xứng trong mảng gồm các số nguyên.
Để làm được bài toán trên thì trước hết chúng ta phải hiểu số tự đối xứng là số như thế nào ?
- Khái niệm số tự đối xứng
- Tính tổng các giá trị đối xứng trong mảng
- Xây dựng hàm kiểm tra số đối xứng
- Code tham khảo
Khái niệm số tự đối xứng
Một số được gọi là tự đối xứng nếu chúng ta đọc theo chiều từ trái sang phải và ngược lại đều giống nhau.
Ví dụ:
- Số 1221, 131 được gọi là số đối xứng vì nếu đọc từ trái sang phải hay ngược lại đều giống nhau.
- Số 132 không phải là số đối xứng vì đọc từ trái sang phải là 132 còn đọc từ phải sang trái lại là 231.
Như vậy từ khái niệm trên ta có thể bắt đầu đi giải quyết bài toán rồi phải không nào.
Tính tổng các giá trị đối xứng trong mảng
Để giải quyết bài toán trên thì chúng ta bắt buộc phải xây dựng một hàm kiểm tra xem số đó có phải là số đối xứng không.
Xây dựng hàm kiểm tra số đối xứng
Với khái niệm ở trên thì chúng ta có thể kiểm tra một số có phải là số đối xứng bằng cách như sau:
- Tìm số đảo ngược của chính nó.
- Nếu số đảo ngược bằng chính nó thì ta kết luận đó chính là số đối xứng.
Ví dụ:
Số đảo ngược của 1221 cũng là 1221, vậy ta có thể kết luận 1221 là số đối xứng.
Số đảo ngược của 132 là 231 nên 132 không phải là số đối xứng.
Nếu bạn chưa biết cách tìm số đảo ngược thì có thể xem tại đây.
Code tham khảo
Code c++
#include<iostream> using namespace std; int daoNguoc(int number) { int res = 0; while (number > 0) { res = res * 10 + number % 10; number /= 10; } return res; } bool isCheck(int number) { if (number == daoNguoc(number)) return true; return false; /* return (number == daoNguoc(number)); */ } void nhap(int a[], int n) { for (int i = 0; i < n; i++) { cout << "Nhap a[" << i << "]: "; cin >> a[i]; } cout << endl; } int main() { int n, a[100]; int sum = 0; cout << "Nhap n: "; cin >> n; nhap(a, n); for (int i = 0; i < n; i++) if (isCheck(a[i])) sum += a[i]; cout << "Sum: " << sum; return 0; }Nhap n: 4 Nhap a[0]: 12 Nhap a[1]: 121 Nhap a[2]: 1 Nhap a[3]: 13 Sum: 122Ở trên có hai số đối xứng đó là 1 và 121.
Code c
#include<stdio.h> int daoNguoc(int number) { int res = 0; while (number > 0) { res = res * 10 + number % 10; number /= 10; } return res; } bool isCheck(int number) { if (number == daoNguoc(number)) return true; return false; /* return (number == daoNguoc(number)); */ } void nhap(int a[], int n) { for (int i = 0; i < n; i++) { printf("Nhap a[%d]: ", i); scanf_s("%d", &a[i]); } printf("n"); } int main() { int n, a[100]; int sum = 0; printf("Nhap n: "); scanf_s("%d", &n); nhap(a, n); for (int i = 0; i < n; i++) if (isCheck(a[i])) sum += a[i]; printf("Sum: %d", sum); return 0; } Nhap n: 4 Nhap a[0]: 121 Nhap a[1]: 131 Nhap a[2]: 15 Nhap a[3]: 78 Sum: 252
Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !
Từ khóa » Chuỗi đối Xứng Trong C++
-
Kiểm Tra Chuỗi đối Xứng C++ - Programming - Dạy Nhau Học
-
LTC 78. Kiểm Tra Chuỗi đối Xứng Trong Lập Trình C - YouTube
-
Chuỗi đối Xứng - Cộng đồng C Việt
-
Bài 78. Kiểm Tra Chuỗi đối Xứng Trong Lập Trình C
-
Kiểm Tra Số đối Xứng Trong C++
-
Kiểm Tra Xâu đối Xứng Pascal Và C++ - Kiến Thức 24h
-
Kiểm Tra Số đối Xứng Trong C/C++ - Lập Trình Không Khó
-
Code Kiểm Tra Số đối Xứng Hay Không C++ - Trangwiki
-
Kiểm Tra Số đối Xứng | How Kteam
-
QBPAL - Đếm Chuỗi đối Xứng - Tutorial SPOJ
-
Kiểm Tra Chuỗi đối Xứng Trong Java - Bài Tập Java Có Lời Giải Cơ Bản ...
-
Kiểm Tra Số đối Xứng Trong C++ - Freetuts