là sô nguyên tố, là số thuận nghịch, chuyển cơ số bất kì cũng là thuận nghịch
Đề bài:
Hãy
viết chương trình liệt kê tất cả các số tự nhiên K thỏa mãn đồng thời những
điều kiện dưới đây:
(i)
K là số có 5 chữ số;
(ii)
K là số nguyên tố;
(iii)
K là số thuận nghịch (k là số thuận nghịch nếu đọc xuôi
hay đọc ngược các chữ số của k ta đều nhận được một số như nhau. Ví dụ số: 30303);
(iv)
Biểu diễn của K ở
hệ cơ số B ( B bất kỳ được nhập từ bàn phím cũng là một số thuận nghịch. Ví dụ
số k=30303 có biểu diễn ở hệ cơ số 8 là
73137 cũng là một số thuận nghịch.
Bài giải:
#include<iostream> #include<cmath> using namespace std; char Code[100] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; bool NguyenTo(int x) { if(x < 2) return false; for(int i = 2; i <= sqrt(x); i++) if(x % i == 0) return false; return true; } bool kttn(int n) { int m = n; int dao = 0 ; while(n > 0) { int t = n%10; dao = dao * 10 + t; n = n/10; } if(dao == m) return true; return false; } bool ktmang(int a[100], int n) { int i = 0; int j = n - 1; while( i < n/2) { if(a[i] != a[j]) return false; i++; j--; } return true; } bool chuyencoso(int x, int n) { int a[100]; int i = 0; while( n>0 ) { a[i] = n % x; n = n / x; i++; } if(ktmang(a,i)) return true; else return false; } int main() { int x; cin >> x; for(int i = 10000; i <= 99999; i++) { if(NguyenTo(i) && kttn(i) && chuyencoso(x,i)) cout << i << endl; } }
Nhận xét
Đăng nhận xét