Đề bài
Viết chương trình C# tìm các số thuận nghịch có 6 chữ số.
Một số được gọi là số thuận nghịch nếu ta đọc từ trái sang phải hay từ phải sang trái số đó ta vẫn nhận được một số giống nhau. Ví dụ 123321 là một số thuận nghịch. Hãy liệt kê tất cả các số thuận nghịch có 6 chữa số.
Lời giải
Cách 1: Duyệt các số từ 100000 đến 999999, rồi phân tách số hiện tại thành các chữ số đơn lẻ để kiểm tra tính thuận nghịch.
/** * Chuong trinh liet ke cac so thuan nghich co 6 chu so. * * @author viettuts.vn */ using System; using System.Collections; namespace VietTutsCsharp { class SoThuanNghich { static int DEC_10 = 10; /** * main * * @param args */ static void Main(string[] args) { int count = 0, i; // in ra man hinh cac so thuan nghich co 6 chu so for (i = 100000; i < 1000000; i++) { if (isThuanNghich(i)) { Console.Write("{0}\n", i); count++; } } Console.Write("Tong cac so thuan nghich co 6 chu so la: {0}", count); } /** * kiem tra so thuan nghich * * @param n: so nguyen duong * @return 1: la so thuan nghich * 0: khong la so thuan nghich */ static bool isThuanNghich(int n) { int[] a = new int[20] ; int dem = 0, i; // phan tich n thanh mang cac chu so do { a[dem++] = (n % DEC_10); n = n / DEC_10; } while (n > 0); // kiem tra tinh thuan nghich for (i = 0; i < (dem / 2); i++) { if (a[i] != a[(dem - i - 1)]) { return false; } } return true; } } }
Kết quả:
100001 101101 102201 ... 997799 998899 999999 Tong cac so thuan nghich co 6 chu so la: 900