原文

中文

 

C++

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

int main()
{
	int n,i;
	
	while(cin>>n)//輸入數字 
	{
		int em=1,cn1=n,cn2=0;
		
		for(i =2;i<=sqrt(n);i++)//判斷輸入的數是否為質數 
		{
			if(n%i==0)//不是質數 
			{
				em=0;
				break;
			}
		}
		
		if(em==1)//如果輸入的數是質數就翻轉它 
		{		 //再判斷翻轉的數是不是質數 
			while(cn1>0)//翻轉數字 
			{
				cn2=cn2*10+cn1%10;
				cn1=cn1/10;
			}
			
			if(cn2!=n)//翻轉後的數不能和原本的一樣 
			{
				em=2;
				for(i =2;i<=sqrt(cn2);i++)//判斷該數是否為質數 
				{
					if(cn2%i==0)
					{
						em=1;
						break;
					}
				}
			}
		}
		
		if(em==2)//兩個數都是質數 
		{
			cout<<n<<" is emirp."<<endl;
		}
		else if(em==1)//原來的數是質數 
		{
			cout<<n<<" is prime."<<endl;
		}
		else//兩個都不是 
		{
			cout<<n<<" is not prime."<<endl;
		}
	}
	return 0;
}
 
創作者介紹
創作者 程式道路,必為豐富 的頭像
豪CO

程式道路,必為豐富

豪CO 發表在 痞客邦 留言(0) 人氣( 2201 )