求出1000以内所有的既是回文数同时又是素数的自然数。请用c++语言编写并回答

2024-11-18 16:55:45
推荐回答(2个)
回答1:

#include #include #include #include int main(){ std::cout << 2 << std::endl; for (size_t ii = 3; ii < 1000;++ii) { std::stringstream sstemp; sstemp << ii; std::string str1, str2; sstemp >> str1; str2.assign(str1.rbegin(),str1.rend()); if (str1==str2) { for (size_t jj = 2; jj < ii;++jj) { if (ii%jj) { if (jj == ii - 1) { std::cout << ii << std::endl; } } else { break; } } } } system("pause"); return EXIT_SUCCESS;}

回答2:

#include 
#include 
#include 
#include 
int main()
{
 std::cout << 2 << std::endl;
 for (size_t ii = 3; ii < 1000;++ii)
 {
  std::stringstream sstemp;
  sstemp << ii;
  std::string str1, str2;
  sstemp >> str1;
  str2.assign(str1.rbegin(),str1.rend());
  if (str1==str2)
  {
   for (size_t jj = 2; jj < ii;++jj)
   {
    if (ii%jj)
    {
     if (jj == ii - 1)
     {
      std::cout << ii << std::endl;
     }
    }
    else
    {
     break;
    }
   }
  }
 }
 system("pause");
 return EXIT_SUCCESS;
}