求出1000以内所有的既是回文数同时又是素数的自然数。请用c++语言编写并回答
如果一个数从左边读和右边读都是同一个数,就称为回文数。例如,686就是一个回文数。编一个程序,求出1000以内所有的既是回文数同时又是素数的自然数。请用c++语言编写并回...
如果一个数从左边读和右边读都是同一个数,就称为回文数。例如,686就是一个回文数。编一个程序,求出1000以内所有的既是回文数同时又是素数的自然数。请用c++语言编写并回答
展开
2个回答
展开全部
#include <cstdlib>#include <sstream>#include <string>#include <iostream>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;}
展开全部
#include <cstdlib>
#include <sstream>
#include <string>
#include <iostream>
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询