现在给出一个素数,这个素数满足两点:

1、 只由1-9组成,并且每个数只出现一次,如13,23,1289。

2、 位数从高到低为递减或递增,如2459,87631。

请你判断一下,这个素数的回文数是否为素数(13的回文数是131,127的回文数是12721)。

输入描述: 输入只有1行。 第1行输入一个整数t,保证t为素数。 数据保证:9<t<109 输出描述: 输出一行字符串,如果t的回文数仍是素数,则输出“prime”,否则输出"noprime"。

输入

13

输出

prime 说明

13的回文数是131,131是素数 代码如下:

#include<iostream>
#include<cmath>
long long i;
long long n;
using namespace std;
void prime(long long n)//判断n的回文数是否为素数
{

	int flag=1;	
	if(n==1)
	{flag=0;
		cout<<"noprime";
	}
		for(i=2;i<=sqrt(n);i++)
	{
		if(n%i==0)
		{
			flag=0;
			cout<<"noprime";//如果是不是素数打印
			break;
		}
	}if(flag)cout<<"prime";//如果是素数打印
}
void f(long long n)//将n转换成它的回文数,求出倒置后的数字 例如123 则倒为321
	{
{
    long long n1=n,sum=1;
		while(n1>10)
	{
		n1=n1/10;
		sum++;
	}n1=n/10;
	for(i=1;i<sum;i++)
	{
		int d=n1%10;
		n=n*10+d;
		n1=n1/10;	
	}
	prime(n);
}
int main()
{
	cin>>n;
	f(n);
	return 0;
}