⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1004.cpp

📁 hoj 部分题目解题报告 c,cpp或java语言描述
💻 CPP
字号:
/* This Code is Submitted by icycandy for Problem 1004 on 2008-11-10 at 08:38:45 *///本人ID: dami
#include <stdio.h>
#include <math.h>

int Prime(long w)       //定义 Prime 函数
{

    int i,j;
    long k;             //定义所需变量
    i=w%2;              //进行素数判断  i为w%2到w%sqrt(w)的所有数
    j=3;
    k=sqrt(w);
    while (i&&j<=k)
    {
        i=w%j;
        j++;
    }
    return i;
}

int main()                          //主函数
{
    int m,n,o,p,q;                  //定义变量
    long A,B,w;

    scanf ("%ld %ld",&A,&B);
    m=0;n=0;o=0;p=0;q=0;            //对m,n,o,p,q进行初始赋值n=0;o=0;p=0;q=0;
    while (m<10)                    //建立构造回文数的循环
    {
        q++;
        if (q==10)
        {   q=0;
            p++;
        }
        if (p==10)
        {   p=0;
            o++;
        }
        if (o==10)
        {   o=0;
            n++;
        }
        if (n==10)
        {   n=0;
            m++;
        }
        w=m*100000000+n*10000000+o*1000000+p*100000+q*10000+p*1000+o*100+n*10+m;//生成对应的回文数
        while(w%10==0)                      //当尾数是零的时候循环去掉0
        {
            w=w/10;
        }
        if (Prime(w))                       //判断
        {
            if((w>=A)&&(w<=B))              //在5~1000,000,000之间的取值范围,按要求打印数字
            printf("%ld\n",w);
            if ((w>5)&&(w<100)&&(w>=A)&&(w<=B))
            {
               printf("11\n");             //打印唯一的一个回文素数2位数 11
            }
        }
    }
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -