POJ NOI0113-05 素数回文数的个数(PKU2928)

摘要:
问题链接:POJNOI0113-05素数回文数的个数。原题出处:PKU2928素数回文数的个数。总时间限制:1000ms内存限制:65536kB描述求11到n之间(包括n),既是素数又是回文数的整数有多少个。输出11到n之间的素数回文数个数。样例输入23样例输出1提示回文数指左右对称的数,如:292,333。来源06计算概论课问题分析这是一个判定计数的问题,需要判定一个数是否为素数和回文数。

问题链接POJ NOI0113-05 素数回文数的个数

原题出处PKU2928 素数回文数的个数



总时间限制:
1000ms
内存限制:
65536kB
描述

求11到n之间(包括n),既是素数又是回文数的整数有多少个。

输入
一个大于11小于1000的整数n。
输出
11到n之间的素数回文数个数。
样例输入
23
样例输出
1
提示
回文数指左右对称的数,如:292,333。
来源
06计算概论课


问题分析

这是一个判定计数的问题,需要判定一个数是否为素数和回文数。

程序说明

函数isprime()用来判定一个数是否是素数;函数ispalindrom()用来判定一个整数是否为回文数,这是一个更为通用的函数,可以指定进制。

使用函数进行判定时,先调用哪个函数也是有讲究的,一要看那个函数的计算时间,二要看判定成功的概率,需要综合考虑。


参考链接:(略)。

AC的C++语言程序:

#include <iostream>
#include <cmath>

using namespace std;

const int START = 11;

bool isprime(int n)
{
    if(n == 1)
        return false;

    if(n == 2)
        return true;

    if(n % 2 == 0)
        return false;

    int end = sqrt(n);
    for(long i=3; i<=end; i+=2)
        if(n % i == 0)
            return false;

    return true;
}

bool ispalindrom(int n, int base)
{
    int palindrom = 0, temp;

    temp = n;
    while(temp) {
        palindrom *= base;
        palindrom += temp % base;
        temp /= base;
    }

    return n == palindrom;
}

int main()
{
    int n, count;

    cin >> n;

    count = 0;
    for(int i=START; i<=n; i++)
        if(ispalindrom(i, 10) && isprime(i))
            count++;

    cout << count << endl;

    return 0;
}

免责声明:文章转载自《POJ NOI0113-05 素数回文数的个数(PKU2928)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇删除数据高级用法:delete,truncateJSP 报错Unterminated --- 标签未关闭,检查&amp;lt;c:if&amp;gt;有没有关闭标签下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C语言,使用宏来传数字参数

a.h #define xglue(x, y) x ## y #define glue(x, y) xglue(x, y) static int glue(load_elf, SZ)(void) { printf("size is %d ", SZ); return 0; } a.c #include <stdio.h>...

function类型(c++11)

1.c++五大可调用的对象   可调用的对象常常作为泛型算法的实参 1)函数 2)函数指针 函数名其实也是函数指针,只不过函数名是一个常量指针,它的值不能改变,只能指向该函数,不能改变它的值让它指向别的函数 void fun1(int a) { cout << a << endl; } void fun2(int a)...

算法训练 删除数组零元素

算法训练 删除数组零元素   时间限制:1.0s   内存限制:512.0MB     从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。输出删除后数组中...

Android游戏开发教程之六:自定义View详解

  在Android游戏开发中,有时Android控件不能满足我们的要求,就有必要使用Android自定义View。自定义View实现起来也不难,就是先继承View类,然后重写构造函数、onDraw、onMeasure等函数。        View需处理的三个问题        对于常规的游戏,我们在View中需要处理以下几种问题: 1.控制事件;...

goodFeaturesToTrack——Shi-Tomasi角点检测

J.Shi和C.Tomasi在1994年在其论文“Good Features to Track”中,提出了一种对Harris角点检测算子的改进算法——Shi-Tomasi角点检测算子,可以看到,Opencv中函数goodFeaturesToTrack就是直接取自他们论文的名字。 goodFeaturesToTrack有比cornerHarris更多的控制...

linux C++ 共享库导出类

1.共享库的对外接口函数的声明必须加上extern “C”。 2.使用共享库对话接口函数生成的对象指针时在该对象未被释放之前不能关闭共享库句柄,否则会出现segmentation fault错误。 以下是一个插件式设计的示例: 1、主执行程序:main.cpp #include #include #include "SMSGamePlugin.h" int...