竞赛课第九周(埃式筛法,矩阵乘法)

1.埃式筛法:求区间[2, n]内所有的素数对

【参考代码】

#include <bits/stdc++.h>
using namespace std;const int N = 1e5;
vector<int> prime;
bool visit[N];int main()
{int n;cin>>n;memset(visit, false, sizeof(visit));for(int i=2; i<=sqrt(n); i++){if(visit[i] != true) //i是素数{for(int j=i*i; j<=n; j += i) //原来是2i。优化后i*i。i=5时,2*5 3*5 4*5已经在前面i=2,3,4筛过了{visit[j] = true; //i*2,3,4,5...都不是素数}}}//通过visit数组记录素数for(int i=2; i<=n; i++){if(visit[i] != true) //i是素数{prime.push_back(i);}}for(int i=0; i<prime.size(); i+=2){cout << prime[i] << ' ' << prime[i+1] << endl;}return 0;
}

【测试结果】

2.求第一亿个Fibonacci数

 【参考代码】

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 1000000007;struct matrix{ll a[2][2];
};matrix start;
matrix result;//(Fn+1) = (1, 1)^n * (F1)
//(Fn  )   (1, 0)  	  (F0)//矩阵乘法
matrix matrix_multiplication(matrix matrix1, matrix matrix2)
{matrix temporary;temporary.a[0][0] = (matrix1.a[0][0] * matrix2.a[0][0] + matrix1.a[1][0] * matrix2.a[0][1]) % mod;temporary.a[0][1] = (matrix1.a[0][0] * matrix2.a[0][1] + matrix1.a[0][1] * matrix2.a[1][1]) % mod;temporary.a[1][0] = (matrix1.a[0][0] * matrix2.a[1][0] + matrix1.a[0][1] * matrix2.a[1][1]) % mod;temporary.a[1][1] = (matrix1.a[1][0] * matrix2.a[0][1] + matrix1.a[1][1] * matrix2.a[1][1]) % mod;return temporary;
}//矩阵快速幂
void fastpow(int n)
{while(n){if(n & 1) //位运算,最后一位是否为1result = matrix_multiplication(start, result);start = matrix_multiplication(start, start);n = n >> 1; //右移一位}
}int main() //计算第1亿个Fibonacci数
{int n = 1e8; //一亿start.a[0][0] = start.a[0][1] = start.a[1][0] = 1, start.a[1][1] = 0;//(1, 0)//(0, 1)result.a[0][0] = result.a[1][1] = 1, result.a[1][0] = result.a[0][1] = 0;fastpow(n);
// 	cout << result.a[0][0] % mod << endl;
// 	cout << result.a[0][1] % mod << endl;cout << result.a[1][0] % mod << endl;
// 	cout << result.a[1][1] % mod << endl;return 0;
}
//100000000
//908460138

【输出结果】

由于答案是一个极大的数,我们取最后9位输出

908460138

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

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

相关文章

成都百洲文化传媒有限公司电商服务如何?

在当今数字化快速发展的时代&#xff0c;电商行业日益繁荣&#xff0c;成都百洲文化传媒有限公司作为专注电商服务的领先者&#xff0c;以其独特的服务理念和创新能力&#xff0c;赢得了市场的广泛认可。本文将从公司的背景、服务特点、市场优势以及未来展望等方面&#xff0c;…

深入理解GTK、Qt、AWTK:跨平台GUI框架对比

目录标题 GTK特性&#xff1a;优点&#xff1a;缺点&#xff1a; Qt特性&#xff1a;优点&#xff1a;缺点&#xff1a; AWTK特性&#xff1a;优点&#xff1a;缺点&#xff1a; 适用场景 在当今的软件开发领域&#xff0c;图形用户界面&#xff08;GUI&#xff09;的开发是不可…

Linux常用命令总结(五):压缩和解压缩及进程线程类命令

1. 压缩和解压缩命令 gzip / gunzip 格式&#xff1a; gzip 文件 &#xff08;功能描述&#xff1a;压缩文件&#xff0c;只能将文件压缩为*.gz文件&#xff09; gunzip 文件.gz &#xff08;功能描述&#xff1a;解压缩文件命令&#xff09;注意&#xff1a; 只能压缩文件,不能…

炫云云渲染:免费体验与高性价比的首选,设计师们的渲染利器

使用云渲染是要收费的&#xff0c;如果你是第一次使用&#xff0c;是可以白嫖一波云渲染的&#xff0c;所有的云渲染都会或多或少送一些渲染券&#xff0c;你可以用它们送的渲染券免费渲一波图。但是不能一直白嫖&#xff0c;再次注册账号人家就不会送体验券了&#xff0c;有些…

搭建AI知识库的终极指南

今天我们来聊聊一个挺火的话题——搭建AI知识库。你可能在想&#xff0c;这AI知识库到底是什么&#xff1f;为什么现在这么多企业都要搭建它呢&#xff1f;下面我们就一起逐步了解对AI知识库从认识到搭建的全过程。 一、什么是AI知识库 AI知识库就是一个利用人工智能技术&#…

基于Python实现的推箱子小游戏

Python贪吃蛇小游戏实现: 推箱子曾经在我们的童年给我们带来了很多乐趣。推箱子这款游戏现在基本上没人玩了&#xff0c;甚至在新一代人的印象中都已毫无记忆了。。。但是&#xff0c;这款游戏可以在一定程度上锻炼自己的编程能力。 运行效果如图所示&#xff1a; 游戏关卡有点…

一文读懂海外站建设平台选择,HubSpot为何独占鳌头?

说起海外站建设平台&#xff0c;就像咱们挑餐馆一样&#xff0c;得看菜色合不合胃口&#xff0c;环境舒不舒服&#xff0c;还有价格能不能接受。市面上那些平台&#xff0c;各有各的招牌菜&#xff0c;但哪道最适合你&#xff0c;还真得好好琢磨琢磨。如果你想要的是那种既实用…

【产品经理修炼之道】- 从需求到功能的转化过程

产品经理的最大作用是将需求转化为产品或者功能&#xff0c;从需求到功能&#xff0c;会经历哪些过程&#xff1f;本文总结了从需求到功能的转化过程&#xff0c;希望对你进一步了解有所帮助。 “大部分的产品经理特别是数字化产品经理其核心价值就是如何去解决如何把需求转化为…

bash: ../configure: /bin/sh^M: bad interpreter: No such file or directory

bash: ../configure: /bin/sh^M: bad interpreter: No such file or directory 这个错误通常是由于Windows平台下的文本格式导致的&#xff0c;而在Linux下则会被解释为错误。解决这个问题的方法之一是使用dos2unix命令将脚本转换为Unix格式。 dos2unix ../configure 然后重…

leetcode2418.按身高排序

题目描述&#xff1a; 给你一个字符串数组 names &#xff0c;和一个由 互不相同 的正整数组成的数组 heights 。两个数组的长度均为 n 。 对于每个下标 i&#xff0c;names[i] 和 heights[i] 表示第 i 个人的名字和身高。 请按身高 降序 顺序返回对应的名字数组 names 。 …

Azure AKS集群监控告警表达式配置

背景需求 Azure AKS集群中&#xff0c;需要对部署的服务进行监控和告警&#xff0c;需要创建并启用预警规则&#xff0c;而这里怎么去监控每个pod级别的CPU和内存&#xff0c;需要自己写搜索查询 解决方法 搜索和查询的语句如下&#xff0c;需要自己替换其中的部分信息,其中…

汽车驾驶3D模拟仿真展示系统更立体直观

随着新能源汽车的普及&#xff0c;它已成为现代生活中不可或缺的交通工具。并且国产车的崛起&#xff0c;其设计与零部件制造水平已能与合资车相媲美&#xff0c;因此汽车维修技能的学习变得尤为重要。汽车维修3D仿真教学软件应运而生&#xff0c;为广大学员提供了一个直观、高…

vLLM-prefix浅析(System Prompt,大模型推理加速)

原文&#xff1a;vLLM-prefix浅析&#xff08;System Prompt&#xff0c;大模型推理加速&#xff09; 简介 本文浅析了在大模型推理加速方面一个非常优秀的项目 vLLM 的一个新特性 Prefix。在 Prompt 中有相同前缀时可以提高吞吐量降低延迟&#xff0c;换句话说可以省去这部分…

M - 上帝造题的八分钟(数位dp,dfs—dp,****)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 我们称一个数为 fufu 数&#xff0c;当且仅当一个数满足下述性质&#xff1a;它的数位中有至少 3 个相邻的数字 3&#xff0c;且数字 0 的个数与数字 1 的个数相差至少为 1 的正整数。 给定一个…

Python拿取nmap扫描的结果并存在csv文件中

今天分享一个使用subprocess模块来执行nmap命令,并使用csv模块来将结果写入CSV文件的方法。 代码如下: import subprocess import csv# 定义扫描的参数 ip_address = 172.18.0.1/24 # 扫描的IP地址或CIDR port_range = -p 443 # 扫描的端口范围 output_filename = s…

睫毛膏上架亚马逊销售需要做什么准备 HRIPT / RIPT斑贴试验

睫毛膏上架需要办理&#xff1a;HRIPT / RIPT斑贴试验COA成分分析证书BCOP认证报告&#xff01; 什么是BCOP&#xff1a; 亚马逊美国站对接触眼睛的眼影&#xff0c;液体眼线笔&#xff0c;磁性睫毛&#xff0c;假睫毛等产品&#xff0c;需提供BCOP&#xff08;Bovine Corneal…

存在矛盾的题目

{ u t t − a 2 u x x 0 , t > 0 , x > 0 , u ( x , 0 ) sin ⁡ ( x ) 2 x , x ≥ 0 , u t ( x , 0 ) cos ⁡ ( x ) , x ≥ 0 , u x ( 0 , t ) 2 , t ≥ 0. \begin{cases} u_{tt} - a^2 u_{xx} 0, & t > 0, x > 0, \\ u(x, 0) \sin(x) 2x, & x \ge…

解线性方程组——上三角、下三角,回代算法 | 北太天元

1. 解上三角(回代) a i i ≠ 0 a_{ii\neq0} aii0​ , i 1 , 2 , … , n i1,2,\ldots,n i1,2,…,n a 11 x 1 a 12 x 2 ⋯ a 1 n x n b 1 a 22 x 2 ⋯ a 2 n x n b 2 ⋯ a n n x n b n \begin{aligned} a_{11}x_1a_{12}x_2\cdotsa_{1n}x_n&b_1 \\ a_{22}x_2\cdot…

解决idea不识别${pageContext.request.contextPath}的方法

文章目录 一、产生原因二、解决方法——直接修改web.xml文件三、修改模板——找到web.xml模板&#xff0c;修改替换 一、产生原因 由于web.xml 使用的web-app版本号过低。导致无法识别"{pageContext.request.contextPath}"。 IDEA在创建javaweb项目的时候&#xff0…

synchronized 之谜

序言 本文给大家介绍一下 synchronized 关键字的部分原理。 一、内存中的 Java 对象 class A {private String attr; }先引入一个问题&#xff1a;上面类 A 有一个属性 attr。当类 A 实例化之后的对象在内存中是如何表示的呢&#xff1f; 在内存中&#xff0c;Java 对象由三…