[GESP样题 四级] 绝对素数

简介: [GESP样题 四级] 绝对素数

B3939 [GESP样题 四级] 绝对素数

题目

如果一个两位数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如 13。给定两个正整数 A, B,请求出大于等于 A,小于等于 B 的所有绝对素数。

输入 1 行,包含两个正整数 A 和 B。保证 10<A<B<100。

若干行,每行一个绝对素数,从小到大输出。

运行代码
#include <iostream>
using namespace std;
bool Prime(int num);
bool APrime(int num);
int main() {
    int A, B;
    cin >> A >> B;
    // 遍历从A到B之间的所有数
    for (int num = A; num <= B; ++num) {
        if (APrime(num)) {
            cout << num << endl;
        }
    }
    return 0;
}
// 判断一个数是否为素数
bool Prime(int num) {
    if (num <= 1) 
    return false;
    if (num <= 3)
    return true;
    if (num % 2 == 0 || num % 3 == 0) 
    return false;
    for (int i = 5; i * i <= num; i += 6) {
        if (num % i == 0 || num % (i + 2) == 0)
        return false;
    }
    return true;
}
// 判断一个两位数是否为绝对素数
bool APrime(int num) {
    if (num < 10 || num >= 100)
 return false; // 确保是两位数
    int rNum = (num / 10) + (num % 10) * 10; // 反转数字
    return Prime(num) && Prime(rNum);
}
思路

首先定义了Prime函数来判断一个数是否为素数,使用了一种常见的优化后的试除法。然后定义了APrime函数,它首先检查给定的数是否为两位数,接着计算该数的反转数,并利用Prime函数判断原数及其反转数是否均为素数。最后,在main函数中,程序读取输入的范围AB遍历此范围内的所有数,对于每个数调用APrime函数,如果是绝对素数则输出。

目录
相关文章
|
机器学习/深度学习 存储
[GESP样题 四级] 填幻方和幸运数
[GESP样题 四级] 填幻方和幸运数
217 1
|
5月前
|
Arthas 监控 Java
Arthas sc(查看JVM已加载的类信息 )
Arthas sc(查看JVM已加载的类信息 )
185 9
|
5月前
|
前端开发 API 开发工具
一年撸完百万行代码,企业微信的全新鸿蒙NEXT客户端架构演进之路
本文将要分享的是企业微信的鸿蒙Next客户端架构的演进过程,面对代码移植和API不稳定的挑战,提出了DataList框架解决方案。通过结构化、动态和认知三重熵减机制,将业务逻辑与UI解耦,实现数据驱动开发。采用MVDM分层架构(业务实体层、逻辑层、UI数据层、表示层),屏蔽系统差异,确保业务代码稳定。
213 0
|
存储 搜索推荐 算法
插入排序:简单而有效的排序方法
在计算机科学中,排序算法是一个重要且常见的主题,它们用于对数据进行有序排列。插入排序(Insertion Sort)是其中一个简单但有效的排序算法。本文将详细解释插入排序的原理和步骤,并提供Java语言的实现示例。
512 4
|
存储 数据安全/隐私保护
[GESP样题 三级] 进制转换、春游、密码合规
[GESP样题 三级] 进制转换、春游、密码合规
474 0
|
11月前
|
存储 Java API
Kotlin学习教程(六)
Kotlin学习教程(六)
195 2
|
传感器
SFNC —— 采集控制(四)(上)
SFNC —— 采集控制(四)
218 3
|
缓存 算法 前端开发
深入理解缓存淘汰策略:LRU和LFU算法的解析与应用
【8月更文挑战第25天】在计算机科学领域,高效管理资源对于提升系统性能至关重要。内存缓存作为一种加速数据读取的有效方法,其管理策略直接影响整体性能。本文重点介绍两种常用的缓存淘汰算法:LRU(最近最少使用)和LFU(最不经常使用)。LRU算法依据数据最近是否被访问来进行淘汰决策;而LFU算法则根据数据的访问频率做出判断。这两种算法各有特点,适用于不同的应用场景。通过深入分析这两种算法的原理、实现方式及适用场景,本文旨在帮助开发者更好地理解缓存管理机制,从而在实际应用中作出更合理的选择,有效提升系统性能和用户体验。
611 1
|
NoSQL Ubuntu Linux
基于ARM64的Qemu/KVM学习环境搭建2
基于ARM64的Qemu/KVM学习环境搭建2
|
Ubuntu Linux 数据库
ubuntu linux 搭建ftp虚拟目录
ubuntu linux 搭建ftp虚拟目录
151 0