回文素数

Problem B: 回文素数

Problem B: 回文素数

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 534   Solved: 183
[ Submit][ Status]

Description

定义一个类SpecialPrime,只有一个静态成员函数

bool judge(int value)

用于判断value是否是一个回文素数。所谓回文素数是指一个数既是回文数又是素数。

Input

输入两个数m和n,0<m<n。

Output

区间[m,n]内的所有回文素数。

Sample Input

2 1000

Sample Output

2 3 5 7 11 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929
  • 因为一直超时,所以直接使用了打表的方式,AC
#include <iostream>
#include <algorithm>
#include <vector>
#include <iomanip>
#include<typeinfo>
#include<cmath>
#include<math.h>
 
using namespace std;
 
int sh[115] = {1,2,3,5,7,11,101,131,151,181,191,313,353,373,383,727,757,787,797,919,929,10301,10501,10601,11311,
11411,12421,12721,12821,13331,13831,13931,14341,14741,15451,15551,16061,16361,16561,16661,17471
,17971,18181,18481,19391,19891,19991,30103,30203,30403,30703,30803,31013,31513,32323,32423,3353
3,34543,34843,35053,35153,35353,35753,36263,36563,37273,37573,38083,38183,38783,39293,70207,70507,
70607,71317,71917,72227,72727,73037,73237,73637,74047,74747,75557,76367,76667,77377,77477,77977,78487,
78787,78887,79397,79697,79997,90709,91019,93139,93239,93739,94049,94349,94649,94849,94949,95959,96269,96469
,96769,97379,97579,97879,98389,98689};
 
bool hws(int value){
 
    int a[10001];
    int i ;
    for(i =1;value != 0;i++){
        a[i] = value%10;
        value /= 10;
    }
    i--;
    for(int j=1;j<i;j++,i--){
        if(a[j] != a[i]){
            return false;
        }
    }
    return true;
}
bool susu(int value){
 
    for(int i=2 ;i<=sqrt(value);i++){
 
        if(value %i == 0){
            return false;
        }
    }
    return  hws(value);
}
class SpecialPrime{
 
public:
    static bool judge(int value){
        for(int i =0;i<115;i++){
            if(sh[i] == value){
                return true;
            }
        }
        return false;
    }
};
 
 
int main()
{
    int m, n, i;
    cin>>m>>n;
    for (i = m; i < n; i++)
    {
        if (SpecialPrime::judge(i))
            cout<<i<<endl;
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值