Là nguyên tố đảo ngược là ngto, tổng các chữ số là nto, từng số là nto

Đề 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)             Đảo ngược các chữ số trong của K cũng là một số nguyên tố;
(iv)              Tổng các chữ số của K cũng là một số nguyên tố;

(v)                Mỗi chữ số trong K cũng là những số nguyên tố.

bài giải:


#include<iostream>
#include<cmath>
using namespace std;

bool nto(int x){
 if( x < 2)
  return false;
 for(int i = 2; i <= sqrt(x); i++){
  if( x%i == 0 )
   return false;
 }
 return true;
}

bool tong(int n){
 int tong = 0;
 while( n > 0){
  int t = n%10;
  tong = tong + t;
  n = n /10;
 }
 if(nto(tong))
  return true;
 else
  return false;
}

bool daongc(int n){
 int dao = 0;
 while( n>0 ){
  int t = n %10;
  dao = dao *10 + t;
  n = n / 10;
 }
 if(nto(dao))
  return true;
 else 
  return false;
}

bool tungso(int n){
 int a[100];
 int i = 0;
 while( n > 0){
  a[i] = n %10;
  n = n / 10;
  i++;
 }
 for(int j = 0 ; j < i; j ++){
  if(!nto(a[j]))
   return false;
 }
 return true;
}

int main(){
 for(int i = 10000; i <= 99999; i++){
  if(nto(i) && tong(i) && daongc(i) && tungso(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)