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

Bài đăng phổ biến từ blog này

Đổi chỗ chữ số đầu tiên và chữ số cuối cùng của một số

Đếm số thuần nguyên tố trong một khoảng

Tìm số đẹp (lộc phát)