链接: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; }