L4-118 均是素数(C++,多种方法)

在给定的区间 [m,n] 内,是否存在素数 p、q、r(p<q<r),使得 pq+r、qr+p、rp+q 均是素数?

输入格式:

输入给出区间的两个端点 0<m<n≤1000,其间以空格分隔。

输出格式:

在一行中输出满足条件的素数三元组的个数。

输入样例:

1 35

输出样例:

10

样例解读

满足条件的 10 组解为:

2, 3, 5
2, 3, 7
2, 3, 13
2, 3, 17
2, 5, 7
2, 5, 13
2, 5, 19
2, 5, 31
2, 7, 23
2, 13, 17

代码:

线性筛
#include <iostream>
#include <unordered_map>using namespace std;const int N = 1e5 + 10;int m, n;
int primes[N], cnt, res;
bool st[N];
unordered_map<int , bool> h;void get_primes(int n) {for (int i = 2; i <= n; i ++ ) {if (!st[i]) {primes[cnt ++ ] = i;h[i] = true;}for (int j = 0; n / primes[j] > i; j ++ ) {st[primes[j] * i] = true;if (i % primes[j] == 0) break;}} 
}bool check(int a, int b, int c) {return h[a * b + c] && h[a + b * c] && h[a * c + b];
}int main() {cin >> n >> m;get_primes(N - 1);int start = 0;while (primes[start] < n, start ++ ); for (int i = start; primes[i] <= m; i ++ ) {for (int j = i + 1; primes[j] <= m; j++ ) {for (int k = j + 1; primes[k] <= m; k ++ ) {if (check(primes[i], primes[j], primes[k])) {res ++ ;}}}}cout << res;
}
 朴素法:
#include <iostream>
#include <unordered_map>using namespace std;const int N = 1e6 + 10;int m, n;
int primes[N], cnt, res;
bool st[N];
unordered_map<int , bool> h; // 用于判断当前的数是不是质数// 刷选指数
void get_primes(int n) {for (int i = 2; i <= n; i ++ ) {int flag = 1;for (int j = 0; j < cnt && primes[j] <= i / primes[j]; j ++ ) {if (i % primes[j] == 0) {flag = 0; break;}}if (flag) primes[cnt ++ ] = i, h[i] = true;}
}
// 判断当前的rqp是否满足
bool check(int a, int b, int c) {return h[a * b + c] && h[a + b * c] && h[a * c + b];
}int main() {cin >> n >> m;get_primes(N - 1);int start = 0;while (primes[start] < n) start ++ ; for (int i = start; primes[i] <= m; i ++ ) {for (int j = i + 1; primes[j] <= m; j++ ) {for (int k = j + 1; primes[k] <= m; k ++ ) {if (check(primes[i], primes[j], primes[k])) {res ++ ;}}}}cout << res;
}
整活:
#include<iostream>
#define f(_,n)for(int _=n;p[_]<=m;_++)
const int N = 1e6 + 10;
int m,n,p[N],c,r,t[N],f,s;
int main(){std::cin>>n>>m;for(int i=2;i<N;i++){f=1;
for(int j=0;j<c&&p[j]<=i/p[j];j++)if(i%p[j]==0){f=0;break;}
if(f)p[c++]=i,t[i]=true;}while(p[s]<n)s++; 
f(i,s)f(j,i+1)f(k,j+1)if(t[p[i]*p[j]+p[k]]&&t[p[i]+p[j]*p[k]]&&t[p[i]*p[k]+p[j]])r++;
std::cout<<r;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/21962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Xshell一键在多个会话中执行多个命令

背景 平时在工作中经常通过ssh远程操作Linux&#xff0c;由于我们负责的服务部署在超过5台服务器&#xff08;相同的代码及路径&#xff09;&#xff0c;每次发布后执行重启都得重复操作5次关闭、检查、启动、查看日志&#xff0c;特别繁琐。 后来发现Xshell 7可以录制脚本&am…

大模型时代的具身智能系列专题(十一)

UMass Amherst 淦创团队 淦创是马萨诸塞大学阿默斯特分校的一名教员&#xff0c;也是麻省理工学院- ibm沃森人工智能实验室的研究经理。在麻省理工学院博士后期间&#xff0c;和Antonio Torralba教授、Daniela Rus教授和Josh Tenenbaum教授一起工作。在此之前&#xff0c;在清…

Ai绘画工具Stable Diffusion,手把手教你训练你的专属Lora模型,神级教程建议收藏!

哈喽&#xff0c;大家好&#xff0c;我是设计师阿威。 今天给大家带来的是Stable Diffusion训练Lora的教程&#xff0c;希望对大家有帮助。 一、硬件要求 我们知道Stable Diffusion WebUI对显卡要求比较高&#xff0c;同样Lora训练对显卡要求更高&#xff0c;所以要想训练一…

【Endnote】如何在word界面加载Endnote

如何在word界面加载Endnote 方法1&#xff1a;方法2&#xff1a;从word入手方法3&#xff1a;从CWYW入手参考 已下载EndNote,但Word中没有显示EndNote&#xff0c;应如何加载显示呢&#xff1f; 方法1&#xff1a; 使用EndNote的Configure EndNote.exe 。 具体步骤为&#x…

通过异步请求上传文件到七牛云

一、准备工作 创建账号、创建空间这种大家自己研究就行(有手就行) 只需要根据步骤查找对应文档 从服务端获取七牛云上传的token,生成token参考官方文档 在七牛云文档查找上传的存储区域 在七牛云控制台找到空间管理的cdn加速域名 二、后台token获取 基于准备工作1中&…

将 KNX 接入 Home Assistant 之三 功能配置

万事俱备只欠东风&#xff0c;不管是ETS还是HA都需要配置才能使用。还是期待以后发展到可以开箱即用。 KNXD的配置 在 《将 KNX 接入 Home Assistant 之二 准备软件》&#xff0c;我们已经装好了KNXD的插件&#xff0c;现在就需要进行配置了 配置的界面 注意图中加框的选择&…

关于2025中国(广州)国际物流装备与技术展览会的新消息!

2025中国&#xff08;广州&#xff09;国际物流装备与技术展览会 2025年5月21-23日 中国进出口商品交易会馆D区 主办单位&#xff1a;汉诺威米兰佰特展览&#xff08;广州&#xff09;有限公司 中国&#xff08;广州&#xff09;国际物流装备与技术展览会&#xff08;LET Chin…

UI 自动化测试(Selenuim + Java )

关于 UI 自动化测试工具 selenuim Java 的环境搭建推荐看SeleniumJava 环境搭建 什么是自动化测试&#xff1f; 自动化测试指软件测试的自动化&#xff0c;在预设状态下运行应用程序或者系统&#xff0c;预设条件包括正常和异常&#xff0c;最后评估运行结果。将人为驱动的测…

分享两种论文降重最有效的方法(论文降重网站)

论文降重最有效的方法可以分为手动方法和使用降重网站两种方法。以下是详细的分析和归纳&#xff1a; 手动方法 删减冗余内容&#xff1a;对于论文中的某些内容&#xff0c;特别是信息冗余或不必要的描述&#xff0c;可以通过删减和简化来减少篇幅。确保每一段落和每一个例子都…

[FreeRTOS 基础知识] 栈

文章目录 栈的概念使用C语言实现 栈通过代码反汇编解析 栈 栈的概念 所谓的栈就是一块空间的内存&#xff0c;CPU的SP寄存器指向它&#xff0c;它可以用于函数调用&#xff0c;局部变量&#xff0c;多任务系统里保存现场。 使用C语言实现 栈 volatile int num0;int fun_b(vol…

i.MX8MP平台开发分享(RDC资源分配控制器篇)

1.spec RDC 配置信息被发送到结构端口、内存垫片、信号控制器和外设&#xff0c;以根据域分配控制访问。 结构使用与每个端口相关的域标识符&#xff0c;将此信息与总线事务一起包含在内。当从属加密垫圈遇到总线事务时&#xff0c;它会将事务域 ID 与 RDC 提供的允许域列表进…

springboot 启动原理、启动过程、启动机制的介绍

Spring Boot 是一种基于 Java 的框架,用于创建独立的、生产级别的 Spring 应用程序。它的主要目标是简化 Spring 应用的初始搭建和开发过程,同时提供一系列大型项目常见的非功能性特征(如嵌入式服务器、安全性、度量、健康检查和外部化配置)。以下是 Spring Boot 的一些核心…

串口通讯、RS485、232、SPI、I2C

串行通信与并行通信的比较 1.同步和异步 同步串口通信&#xff08;Synchronous Serial Communication&#xff09; 异步串口通信&#xff08;Asynchronous Serial Communication&#xff09; 比较 2.全双工&#xff0c;半双工&#xff0c;单工 全双工&#xff08;Full Du…

Midjourney绘画参数设置详解

在数字艺术和设计领域&#xff0c;Midjourney是一款强大的绘画工具&#xff0c;它允许艺术家和设计师以数字方式创作出精美的图像。为了充分发挥Midjourney的潜力&#xff0c;正确设置其绘画参数至关重要。本文将深入探讨Midjourney的绘画参数设置&#xff0c;帮助用户更好地掌…

第十五届蓝桥杯物联网试题(国赛)

好&#xff0c;很好&#xff0c;国赛直接来个阅读理解&#xff0c;我猛做4个小时40分钟&#xff0c;cpu都干冒烟了&#xff0c;也算是勉强做完吧&#xff0c;做的很仓促&#xff0c;没多检查就交了&#xff0c;方波不会&#xff0c;A板有个指示灯没做&#xff0c;其他应该都还凑…

使用EMQX搭建MQTT服务

简介&#xff1a;EMQX 是一款开源的大规模分布式 MQTT 消息服务器&#xff0c;功能丰富&#xff0c;专为物联网和实时通信应用而设计。EMQX 5.0 单集群支持 MQTT 并发连接数高达 1 亿条&#xff0c;单服务器的传输与处理吞吐量可达每秒百万级 MQTT 消息&#xff0c;同时保证毫秒…

php质量工具系列之phploc

phploc是一个快速测量PHP项目大小的工具 结果支持raw csv xml json格式&#xff0c;可输出文件或者打印到控制台 安装 PHAR方式 wget https://phar.phpunit.de/phploc.pharphp phploc.phar -vComposer方式(推荐) composer global require --dev phploc/phplocphploc -v使用 …

内存动态管理

内存动态管理 1 .为什么要有动态内存分配 我们已经掌握的内存开辟⽅式有&#xff1a; int val 20;//在栈空间上开辟四个字节 char arr[10] {0};//在栈空间上开辟10个字节的连续空间但是上述的开辟空间的⽅式有两个特点&#xff1a; • 空间开辟⼤⼩是固定的。 • 数组在…

SQL Developer 小贴士:备份和恢复连接信息

问题与概念 有时候SQL Developer需要重装&#xff0c;能备份和恢复连接信息就比较重要。 SQL Developer提供连接的导出和导入功能。 导出连接 第一步&#xff1a;选择连接。 第2步&#xff1a;指定输出文件&#xff0c;例如sqldconns.json 第3步&#xff1a;因为连接中可…

netty LengthFieldBasedFrameDecoder 根据动态长度分包粘包

如下数据格式 在方法&#xff1a; // Integer.MAX_VALUE, // maxFrameLength: 最大允许的帧长度// 4, // lengthFieldOffset: 长度字段在帧中的偏移量&#xff0c;这里是在帧头之后// 4, // lengthFieldLength: 长度字段的长度&#xff0c;4字节表示32位整数// 0, // …