文章目录

  • 一、试除法判定某个数是否为质数
  • 二、求最大公约数——欧几里德算法
  • 三、求某个数的欧拉函数φ(n)\varphi (n)φ(n)
  • 四、快速幂

一、试除法判定某个数是否为质数

时间复杂度O(N\sqrt{N}N​)

//是质数返回true
bool is_prime(int c)
{if( c < 2 ) return false;for(int i = 2 ; i <= c / i ; i ++ ){if(c % i == 0) return false;}return true;
}

二、求最大公约数——欧几里德算法

时间复杂度logN

int gcd(int a ,int b)
{return b ? gcd ( b , a % b ): a ;
}

三、求某个数的欧拉函数φ(n)\varphi (n)φ(n)

求解公式:
φ(n)=n∏1i(1−1/pi)\varphi (n) = n\prod_{1}^{i} (1-1/p_{i})φ(n)=n∏1i​(1−1/pi​)
代码:

int phi(int x)
{int res = x ;for(int i = 2 ; i <= x / i ; i ++ ){if( x % i == 0){res = res / i * (i - 1);while( x % i == 0 ) x /= i ;}}if( x > 1 ) res = res / x * ( x - 1 );return res;
}

四、快速幂

时间复杂度O(logN)
代码:

int kmi(int a ,int b ,int p)
{int res = 1 % p;while(b){if( b & 1 ) res = res * a % p;a = a * a % p;b >>= 1; }return res;
}

4个C++算法数学模板(备战蓝桥杯)相关推荐

  1. 【备战蓝桥杯】 算法·每日一题(详解+多解)-- day11

    [备战蓝桥杯] 算法·每日一题(详解+多解)-- day11 ✨博主介绍 前言 Dijkstra 算法 流程 网络延迟时间 解题思路 Bellman-Ford 算法 流程 K 站内最便宜的航班 解题思 ...

  2. 备战蓝桥杯 这样准没错!

    大家好,我是大赛(不是塞),好久不见,甚是想念. 这段时间断断续续有些学弟问我参加蓝桥杯有木有一些建议,我也给了我的想法和看法.当然,网上对蓝桥杯的看法不一,我就针对大学生参与竞赛的目的和备战蓝桥杯两 ...

  3. 7天备战蓝桥杯之第一天

    7天备战蓝桥杯之第一天 0x1 前言 ​ 无尔,只为打脸某人.(ps.本来不想玩,谁叫某人喜欢嘲笑我是个垃圾呢,mmp,没错我就是个垃圾,我最tm讨厌说实话的人了) 0x2 备战思路 ​ 以我多年的考 ...

  4. 备战蓝桥杯—有边数限制的最短路 (bellman_ford+)——[AcWing]有边数限制的最短路

    因为近期在学图,所以顺带的写一篇最短路的备战蓝桥杯文章. 最短路(单源) 所有边权都为正数有两种算法: 1.朴素Dijkstra    O(n^2) 2.堆优化的Dijkstra    O(mlogn ...

  5. 备战蓝桥杯—枚举——[USACO Nov08]成交

    农夫 John 余下了 m 批干草无法处理,他准备要开一个拍卖会去出售他的干草.现在有 n 个顾客,每个顾客的报价是 ai​.现在 John 要确定一个单价,所有报价大于等于单价的顾客将会买到 1批干 ...

  6. 【STM32G431RBTx】备战蓝桥杯嵌入式→基本模块→I2C→M24C02

    文章目录 前言 I2C 1.原理图以及配置元素 2.CubeMx的配置步骤 3.生成工程 4.测试代码 5.演示效果 总结 前言 G4板载了一块M24C02(eeprom)和一块MCP4017(可编程 ...

  7. 备战蓝桥杯-双指针、BFS

    备战蓝桥杯所有笔记 双指针

  8. 【STM32G431RBTx】备战蓝桥杯嵌入式→扩展模块→SEG

    文章目录 前言 一.软件准备 二.SEG 1.扩展板上模块的原理图以及我们需要配置的元素 2.CubeMx的配置步骤 三.测试代码 四.演示效果 五.工程链接 六.总结 前言 初赛结束之后就应该火速准 ...

  9. 【STM32G431RBTx】备战蓝桥杯嵌入式→基本模块→LED

    文章目录 前言 一.软件准备 二.LED 1.G431RETx的原理图以及我们需要配置的元素 2.CubeMx的配置步骤 3.别忘了设置调试接口为SW 4.生成工程 5.测试代码 三.效果展示 总结 ...

  10. 【STM32G431RBTx】备战蓝桥杯嵌入式→基本模块→KEY→单击

    文章目录 前言 KEY 1.原理图以及配置元素 2.CubeMx的配置步骤 3.生成工程 4.测试代码 5.演示效果 总结 前言 学完了LED和LCD后,我们开始学习按键. KEY 1.原理图以及配置 ...

最新文章

  1. 分布式理论、架构设计(自定义RPC)
  2. Qt实现延时sleep函数功能
  3. 运行Qt程序的一些注意事项
  4. 扎根中国20年,F5“代码到用户”线上峰会盛大启幕
  5. 有序数组的平方(力扣)
  6. spider-抓取网页内容(Beautiful soup)
  7. 易语言数据类型与c 对照,详解易语言中的数据类型
  8. 小甲鱼c语言_C语言可以不用,但是不能不会!
  9. 计算机网络技术——VLAN划分
  10. python done()什么意思_turtle.done()的作用是什么
  11. 超简单一行代码实现应用双开,仿照微信双开、QQ双开等实现app应用双开,即采用Android插件化开发在免安装情况下加载使用原生app
  12. 服装行业ERP体系的主要好处
  13. 自定义数据集(Pokemon)实战
  14. PDF文件拆分合并器PDF Merge PDF Splitter + Mac
  15. ion-slides 图片只能滑动一半、图片索引错误导致图片显示错误(缓存问题导致的)
  16. PHPcurl请求很慢解决办法
  17. VB:SysInfo控件
  18. java中集合的分类以及集合的选择
  19. js编码书写规范(自学习用)
  20. 图像sensor的工作原理

热门文章

  1. js监听只读文本框_javascript 监听文本框输入
  2. DeepFaceLab:视频中有多人,仅替换特定人脸的方法!
  3. 【JZOJ 5424】【NOIP2017提高A组集训10.25】凤凰院凶真
  4. linux磁盘空间满如何清理,linux磁盘空间不足怎么办,磁盘清理方法
  5. Linux清理磁盘空间常用命令
  6. win10内置ubuntu, “指定的网络名不再可用”解决办法
  7. liunx 操作系统的区别和之间的关系
  8. 不同的国际学校课程毕业后可申请什么学校
  9. 泰勒公式系列之二—完整公式推导
  10. 金融反欺诈(项目练习)