• 回文素数


    /*

    时间限制:1秒 空间限制:32768K 热度指数:5113
    算法知识视频讲解
    校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。

    题目描述

    如果一个整数只能被1和自己整除,就称这个数是素数。
    如果一个数正着反着都是一样,就称为这个数是回文数。例如:6, 66, 606, 6666
    如果一个数字既是素数也是回文数,就称这个数是回文素数
    牛牛现在给定一个区间[L, R],希望你能求出在这个区间内有多少个回文素数。

    输入描述:

    输入包括一行,一行中有两个整数(1 ≤ L ≤ R ≤ 1000)

    输出描述:

    输出一个整数,表示区间内回文素数个数。
    示例1

    输入

    复制
    100 150

    输出

    复制
    2

    */

    //回文素数
    //https://www.nowcoder.com/practice/4802faa9afb54e458b93ed372e180f5c?tpId=90&tqId=30793&rp=10&ru=%2Factivity%2Foj&qru=%2Fta%2F2018test%2Fquestion-ranking&tPage=1
    #include<stdio.h>
    #include<math.h>
    int exchange(int a);
    int prime(int a);
    int main(int argc,char *argv[])
    {
        int m,n,i;
        int cnt=0;
        scanf("%d %d",&m,&n);
        for(i=m;i<=n;i++)
        {
            if(i==exchange(i)&&prime(i)==1)
            {
                //printf("%d %d ",i,prime(i));
                cnt++;
            }
        }
        if(m==1)
        {
            cnt--;
        }
        printf("%d",cnt);
        return 0;
    }
    int exchange(int a)
    {
        int t;
        int num=0;
        while(a>0)
        {
            t=a%10;
            num=num*10+t;
            a/=10;
        }
        a=num;
        return a;
    }
    int prime(int a)
    {
        int i;
        int t=1;
        for(i=2;i<=sqrt(a);i++)
        {
            if(i==1)
            {
                break;
            }
            if(a%i==0)
            {
                t=0;
                break;
            }
        }
        return t;
    }

  • 相关阅读:
    Metadata, reflection and attribute
    [Tip VS] One Reason Causes VS IDE Slow To Work
    [转载]开源界的5大开源许可协议详解
    [Cursor Bitmap]Programatically Create Bitmap For Cursor
    对UML多了很多理解
    关于Task Breakdown / Plan & Project Prototyping
    第11章 界面设计模式
    第4章 O/R Mapping的一般做法
    第3章 数据和对象
    第8章 事务处理
  • 原文地址:https://www.cnblogs.com/lijianmin6/p/10628118.html
Copyright © 2020-2023  润新知