链接:https://ac.nowcoder.com/acm/contest/19859/C
来源:牛客网
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
现在给出一个素数,这个素数满足两点:
1、 只由1-9组成,并且每个数只出现一次,如13,23,1289。
2、 位数从高到低为递减或递增,如2459,87631。
请你判断一下,这个素数的回文数是否为素数(13的回文数是131,127的回文数是12721)。
输入描述:
输入只有1行。第1行输入一个整数t,保证t为素数。数据保证:9<t<109
输出描述:
输出一行字符串,如果t的回文数仍是素数,则输出“prime”,否则输出"noprime"。
备注:
素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。 素数的回文数为题意中的定义,1331不是素数的回文数。
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
int main()
{
long long n,m=0;
cin>>n;
m=n,n/=10;
while(n)
{
m=m*10+n%10;
n/=10;
}
for(int i=2;i<=sqrt(m);i++)
{
if(m%i==0)
{
cout<<"noprime";
return 0;
}
}
cout<<"prime";
return 0;
}

京公网安备 11010502036488号