題目:求四位的可逆素數。可逆素數指:一個素數将其各位數字的順序倒過來構成的反序數也是素數。本題的重點不是判斷素數的方法,而是求一個整數的反序數。
/*求四位的可逆素數。可逆素數指:一個素數将其各位數字的順序倒過來構成的反序數也是素數
。本題的重點不是判斷素數的方法,而是求一個整數的反序數。
*/
#include <iostream>
using namespace std;
int is_zhi(int a);
int main(void)
{
int a[4],s;
for (int i=1000;i!=10000;++i)
{
if (is_zhi(i))
{
for (int j=0,k=1;j!=4;k*=10,++j)
{
a[j]=i/k%10;
}
s=a[0]*1000+a[1]*100+a[2]*10+a[3];
if (is_zhi(s))
{
cout<<i<<"為可逆素數!"<<endl;
}
}
else
continue;
}
return 0;
}
/*int main(void)
{
for (int i=2;i!=999;++i)
{
if (is_zhi(i)&&is_zhi(i+2))
{
cout<<i<<"和"<<(i+2)<<"為孿生素數!"<<endl;
}
}
}*/
int is_zhi(int a)
{
for (int i=2;i<=a/2;++i)
{
if (a%i==0)
{
return 0;
}
if (i==a/2)
{
return 1;
}
}
}