C++ (算术)回文质数回文数从左边读和从右边读都是同一个数,例如1234321就是一个回文数.给出一个数n,请判断它是否既是回文数又是质数输入格式:一个正整数n,长度不超过10输出格式:yes / no
来源:学生作业帮助网 编辑:作业帮 时间:2024/10/06 09:04:57
C++ (算术)回文质数回文数从左边读和从右边读都是同一个数,例如1234321就是一个回文数.给出一个数n,请判断它是否既是回文数又是质数输入格式:一个正整数n,长度不超过10输出格式:yes / no
C++ (算术)回文质数
回文数从左边读和从右边读都是同一个数,例如1234321就是一个回文数.给出一个数n,请判断它是否既是回文数又是质数
输入格式:一个正整数n,长度不超过10
输出格式:yes / no
输入样例:13
输出样例:no
因为13不是一个回文数
输入样例:11
输出样例:yes
11是一个回文数,又是一个素数
C++ (算术)回文质数回文数从左边读和从右边读都是同一个数,例如1234321就是一个回文数.给出一个数n,请判断它是否既是回文数又是质数输入格式:一个正整数n,长度不超过10输出格式:yes / no
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/**
判断m是否为质数
@return 1:质数,0:不是质数
**/
int ss(int m){
for(int i=2;i<=sqrt(m);i++)
if(! (m%i))
return 0;
return 1;
}
/**
判断m是否为回文数
@return 1:回文,0:不是回文
**/
int huiwen(int m){
int x=0,y;
y=m;
while(y){
x = x*10 + y % 10;
y /= 10;
}
if (m==x)
return 1;
else
return 0;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
if(huiwen(n)&&ss(n))
puts("yes");
else
puts("no");
return 0;
}