C++ (算术)回文质数
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/19 14:20:39
C++ (算术)回文质数
回文数从左边读和从右边读都是同一个数,例如1234321就是一个回文数.给出一个数n,请判断它是否既是回文数又是质数
输入格式:一个正整数n,长度不超过10
输出格式:yes / no
输入样例:13
输出样例:no
因为13不是一个回文数
输入样例:11
输出样例:yes
11是一个回文数,又是一个素数
回文数从左边读和从右边读都是同一个数,例如1234321就是一个回文数.给出一个数n,请判断它是否既是回文数又是质数
输入格式:一个正整数n,长度不超过10
输出格式:yes / no
输入样例:13
输出样例:no
因为13不是一个回文数
输入样例:11
输出样例:yes
11是一个回文数,又是一个素数
#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;
}
再问: 用C++
再答: #include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<sstream>
#include<cstring>
#include<math.h>
#include<stdio.h>
#include<map>
#include<set>
#include<stack>
using namespace std;
/**
判断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(cin>>n)
if(huiwen(n) && ss(n))
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
return 0;
}
#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;
}
再问: 用C++
再答: #include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<sstream>
#include<cstring>
#include<math.h>
#include<stdio.h>
#include<map>
#include<set>
#include<stack>
using namespace std;
/**
判断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(cin>>n)
if(huiwen(n) && ss(n))
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
return 0;
}