当前位置: 首页 > article >正文

信奥赛C++提高组csp-s之数论基础专题课:欧拉函数和欧拉定理2(编程案例实践)

信奥赛C提高组csp-s之数论基础专题课欧拉函数和欧拉定理2编程案例实践信奥赛C中的欧拉函数和欧拉定理是数论基础专题中重要内容。上次内容我们了讲解其数学原理并举数学例子帮大家做了深入理解。本次课我们将讲解编程案例实践。扩展欧拉定理题目描述给你三个正整数a , m , b a,m,ba,m,b你需要求a b m o d m a^b \bmod mabmodm。输入格式一行三个整数a , m , b a,m,ba,m,b。输出格式一个整数表示答案。输入输出样例 1输入 12 7 4输出 12输入输出样例 2输入 2998244353 12345 98765472103312450233333333333输出 25333说明/提示注意输入格式a , m , b a,m,ba,m,b依次代表的是底数、模数和次数。【样例1 11解释】2 4 m o d 7 2 2^4 \bmod 7 224mod72。【数据范围】对于100 % 100\%100%的数据1 ≤ a ≤ 10 9 1\le a \le 10^91≤a≤1091 ≤ b ≤ 10 20000000 1 ≤ m ≤ 10 8 1\le b \le 10^{20000000}1\le m \le 10^81≤b≤10200000001≤m≤108。思路分析本题要求计算a b m o d m a^b \bmod mabmodm其中 b 可能是一个长度高达2 × 10 7 2\times 10^72×107的巨大整数无法直接用整数存储。必须利用扩展欧拉定理来降低指数规模a b ≡ { a b ( m o d m ) b φ ( m ) a b m o d φ ( m ) φ ( m ) ( m o d m ) b ≥ φ ( m ) a^b \equiv \begin{cases} a^b \pmod{m} b \varphi(m) \\[1ex] a^{\,b \bmod \varphi(m) \varphi(m)} \pmod{m} b \ge \varphi(m) \end{cases}ab≡{ab(modm)abmodφ(m)φ(m)(modm)​bφ(m)b≥φ(m)​其中φ ( m ) \varphi(m)φ(m)是欧拉函数1 ≤ m ≤ 10 8 1\le m\le 10^81≤m≤108可用试除法求出。算法步骤读入 (a, m) 和字符串 (b)。特判 m 1直接输出 0。计算φ ( m ) \varphi(m)φ(m)。判断 b 与φ ( m ) \varphi(m)φ(m)的大小关系若 b 的十进制长度≤ 9 \le 9≤9则可将 b 转为整数与φ ( m ) \varphi(m)φ(m)比较若b φ ( m ) b \varphi(m)bφ(m)指数取 b 本身否则指数取b m o d φ ( m ) φ ( m ) b \bmod \varphi(m) \varphi(m)bmodφ(m)φ(m)。若 b 的长度 ( 9)则 b 一定不小于φ ( m ) \varphi(m)φ(m)只需计算b m o d φ ( m ) b \bmod \varphi(m)bmodφ(m)指数取该余数加φ ( m ) \varphi(m)φ(m)。用快速幂计算a 指数 m o d m a^{\text{指数}} \bmod ma指数modm并输出。代码实现#includebits/stdc.husingnamespacestd;typedeflonglongll;// 计算欧拉函数 phi(n) (n 1e8)intphi(intn){intresn;for(inti2;i*in;i){if(n%i0){resres/i*(i-1);while(n%i0)n/i;}}if(n1)resres/n*(n-1);returnres;}// 快速幂计算 a^b % modllqpow(ll a,ll b,ll mod){ll r1%mod;while(b){if(b1)r(r*a)%mod;a(a*a)%mod;b1;}returnr;}intmain(){inta,m;string b;cinamb;if(m1){// 模数为1任何数模1都是0cout0endl;return0;}intpphi(m);// p φ(m)ll e;// 最终指数intlenb.size();if(len9){// b 可以用整数表示直接比较ll Bstoll(b);if(Bp)eB;else{// 虽然 B p但为了保险仍取余数并加上 peB%pp;}}else{// b 长度 9肯定 p只需计算余数ll r0;for(charc:b){r(r*10(c-0))%p;}erp;}ll ansqpow(a%m,e,m);coutansendl;return0;}功能分析欧拉函数计算使用试除法时间复杂度O ( m ) O(\sqrt{m})O(m​)对于m ≤ 10 8 m\le 10^8m≤108完全可行。大整数处理通过字符串读入 b利用长度比较和逐位取模避免溢出同时正确判断 b 与φ ( m ) \varphi(m)φ(m)的大小关系满足扩展欧拉定理的使用条件。指数确定根据比较结果选择直接使用 b 或b m o d φ ( m ) φ ( m ) b \bmod \varphi(m) \varphi(m)bmodφ(m)φ(m)作为最终指数保证定理适用。快速幂使用二进制拆分时间复杂度O ( log ⁡ 指数 ) O(\log \text{指数})O(log指数)指数不超过2 φ ( m ) ≤ 2 × 10 8 2\varphi(m) \le 2\times 10^82φ(m)≤2×108运行极快。边界处理特判 m1避免后续运算取模前先将 a 对 m 取余防止中间溢出。更多系列知识请查看专栏《信奥赛C提高组csp-s知识详解及案例实践》https://blog.csdn.net/weixin_66461496/category_13113932.html各种学习资料助力大家一站式学习和提升#includebits/stdc.husingnamespacestd;intmain(){cout########## 一站式掌握信奥赛知识! ##########;cout############# 冲刺信奥赛拿奖! #############;cout###### 课程购买后永久学习不受限制! ######;return0;}1、csp信奥赛高频考点知识详解及案例实践CSP信奥赛C动态规划https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转CSP信奥赛C标准模板库STLhttps://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转信奥赛C提高组csp-s知识详解及案例实践https://blog.csdn.net/weixin_66461496/category_13113932.html2、csp信奥赛冲刺一等奖有效刷题题解CSP信奥赛C初赛及复赛高频考点真题解析持续更新https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转信奥赛C提高组csp-s初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13125089.html3、GESP C考级真题题解GESP(C 一级二级三级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转GESP(C 四级五级六级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转GESP(C 七级八级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13117178.html4、csp/信奥赛C完整信奥赛系列课程永久学习https://edu.csdn.net/lecturer/7901 点击跳转· 文末祝福 ·#includebits/stdc.husingnamespacestd;intmain(){cout跟着王老师一起学习信奥赛C;cout 成就更好的自己 ;cout csp信奥赛一等奖属于你! ;return0;}

相关文章:

信奥赛C++提高组csp-s之数论基础专题课:欧拉函数和欧拉定理2(编程案例实践)

信奥赛C提高组csp-s之数论基础专题课:欧拉函数和欧拉定理2(编程案例实践) 信奥赛C中的欧拉函数和欧拉定理是数论基础专题中重要内容。上次内容我们了讲解其数学原理,并举数学例子帮大家做了深入理解。本次课我们将讲解编程案例实践…...

中小企业别再只靠爆款和运气!真正盈利增长需要体系化变革-佛山鼎策创局破局增长咨询

对于好多中小企业来讲,盈利增长时常伴着阵痛。企业从初创期的那种稍稍粗放的野蛮生长阶段渐渐步入成长期时,创始人会普遍发觉,过去那些屡屡奏效的“战术”如今正失效。比如策划一场爆款活动,或者只靠一两个大客户的订单&#xff0…...

赶deadline必备 AI论文写作软件 千笔AI VS 灵感ai

随着人工智能技术的迅猛迭代与普及,AI辅助写作工具已逐步渗透到高校学术写作场景中,成为专科生、本科生、研究生完成毕业论文不可或缺的辅助手段。越来越多面临毕业论文压力的学生,开始依赖各类AI工具简化写作流程、提升创作效率。但与此同时…...

毕业论文神器 8个一键生成论文工具:开源免费测评+高效写作推荐

在学术研究与论文写作日益精细化的今天,AI工具正逐步成为科研人员不可或缺的得力助手。然而,面对市场上琳琅满目的AIGC写作工具,如何选择真正适合自己的那一个,成为不少用户面临的难题。为此,笔者基于2026年的实测数据…...

交稿前一晚!9个降AI率软件降AIGC网站评测对比,全行业通用必看

在学术写作日益依赖AI工具的当下,如何在保持内容质量的同时有效降低AIGC率,已成为众多研究者和学生共同面临的挑战。AI降重工具的出现,正是为了解决这一痛点,它们不仅能够精准识别并去除AI生成痕迹,还能在不破坏原文语…...

一文讲透|全行业通用降AIGC工具 —— 千笔

在AI技术迅猛发展的今天,越来越多的学生、研究人员和职场人士开始借助AI工具辅助论文写作,提升效率与质量。然而,随着知网、维普、万方等查重系统不断升级算法,以及Turnitin对AIGC(人工智能生成内容)的识别…...

华为OD机考双机位C卷 - 挑选宝石 (Java)

挑选宝石 2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 华为OD机试双机位C卷真题目录(Java)点击查看: 【全网首发】2026华为OD机位C卷 机考真题题库含考点说明以及在线OJ(Java题解) 题目描述 游乐园有一款互动游戏,游戏开始时会提供n个宝石,每个宝石都一个属性值…...

华为OD机考双机位C卷 - 挑选字符串 (Java)

挑选字符串 2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 华为OD机试双机位C卷真题目录(Java)点击查看: 【全网首发】2026华为OD机位C卷 机考真题题库含考点说明以及在线OJ(Java题解) 题目描述 给定 [a-z],26个英文字母小写字符串组成的字符串 A 和 B,其中 A 可…...

华为OD机考双机位C卷 - 执行任务赚积分 (Java)

执行任务赚积分 2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 华为OD机试双机位C卷真题目录(Java)点击查看: 【全网首发】2026华为OD机位C卷 机考真题题库含考点说明以及在线OJ(Java题解) 题目描述 现有N个任务需要处理,同一时间只能处理一个任务,处理每个任务所…...

华为OD机考双机位C卷 - 打印机队列 (Java)

打印机队列 2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 华为OD机试双机位C卷真题目录(Java)点击查看: 【全网首发】2026华为OD机位C卷 机考真题题库含考点说明以及在线OJ(Java题解) 题目描述 有5台打印机打印文件,每台打印机有自己的待打印队列。 因为打印的文…...

光伏电池 - 超级电容混合储能系统能量管理的 Simulink 建模探索

电池-超级电容混合储能系统能量管理matlab/simulink仿真建模模型 模型正确无误,能跑通 该模型中提出的系统是独立的光伏电池-超级电容器混合储能系统。 提出了一种能量管理技术来控制整个系统的能量供应和存储。 在能源领域,光伏电池与超级电容混合储能系…...

服务器部署爬虫:Supervisor 进程守护

在服务器长期运行爬虫时,常会遇到程序意外崩溃、断连退出、后台挂起失效等问题,直接用 nohup 或 screen 管理不够规范、不够稳定。Supervisor 是 Linux 下轻量、可靠的进程守护工具,专门用来托管爬虫、服务、脚本等后台程序,实现自…...

爬虫测试:单元测试与集成测试实践

在爬虫开发中,稳定性、可维护性、容错性是核心指标。随着爬取目标站点结构变化、反爬策略升级、业务逻辑日趋复杂,没有测试的爬虫往往是 “一次性脚本”,上线即埋坑。单元测试与集成测试,是保障爬虫长期可靠运行的关键工程实践。一…...

汽车与机器人领域的“全脑”计算平台引领者

黑芝麻智能是一家国内领先的车规级计算SoC及基于SoC的智能汽车和机器人解决方案供应商。公司是目前国内为数不多可以实现大规模车规高算力芯片量产的企业,并随着人形机器人行业的蓬勃发展,积极布局卡位机器人大小脑芯片。 目前公司计算SoC产品包括用于自动驾驶的“华山”系列…...

国产智驾SoC全面突围:从低算力替代到高算力量产的技术跃迁

国内智驾芯片厂商已形成低、中、高算力区间的完备布局。在中低算力领域,国产芯片凭借性价比与软硬协同能力完成对海外巨头的份额赶超;在中高算力领域,伴随高速NOA功能下沉,国产芯片正经历从“1到N”的量产放量;在高算力领域,随着多家厂商500TOPS级以上产品陆续定点量产,…...

基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战

目录 前言 一、PostGIS空间求解 1、相邻的求解 二、后台程序实现 1、数据查询的实现 2、API接口实现 三、WebGIS可视化实现 1、空间面展示 2、增加面标注 3、图例展示 4、与缅甸距离较近的区县信息 四、总结 前言 云南,这个位于中国西南边陲的省份&…...

基本复现-计及碳排放成本的电_气_热综合能源系统节点能价计算方法研究 真正做到了电热气潮流耦合

基本复现-计及碳排放成本的电_气_热综合能源系统节点能价计算方法研究 真正做到了电热气潮流耦合,很适合综合能源系统建模的初学者,配合复现论文。 运行程序HeatGasPowerCombination即可。 每个系统模型都有专门的文档讲解,程序注释齐全。 通…...

B2B 木材行业供需对接平台微信小程序开源

一、项目概览 项目名称:木材供需通 类型:微信小程序 B2B 木材行业供需对接平台 核心功能:货源发布 / 采购需求 / 报价对接 / 企业认证 / 线上撮合二、页面结构 底部导航(5个主页面) | 页面 | 路径 | 功能 | |------|--…...

2026年正点原子开发板移植(3)——设备树基础:从硬编码噩梦到硬件描述分离

2026年正点原子开发板移植(3)——设备树基础:从硬编码噩梦到硬件描述分离 为什么要谈设备树 老实说,设备树这个概念刚接触的时候真的让人头大。一堆花括号、各种莫名其妙的属性、那个compatible到底在匹配什么东西、引脚复用配置里…...

在2023idea中如何创建SpringBoot

目录 一.下载和安装 Maven 1.前往 https://maven.apache.org/download.cgi 下载最新版的 Maven 程序 2.将文件解压到D:Program FilesApachemaven目录 3.新建环境变量MAVEN_HOME,赋值D:Program FilesApachemaven 4.编辑环境变量Path,追加%MAVEN_HOME…...

【超全】基于微信小程序的校园跑腿系统【包括源码+文档+调试】

💕💕发布人: 码上青云 💕💕各类成品Java毕设 。javaweb,ssm,springboot等项目,欢迎咨询。 💕💕程序开发、技术解答、代码讲解、文档, &#x1f31…...

【超全】基于微信小程序的在线诊疗系统【包括源码+文档+调试】

发布人: 码上青云 💕💕各类成品Java毕设 。javaweb,ssm,springboot等项目,欢迎咨询。 💕💕程序开发、技术解答、代码讲解、文档, 🌟🌟非开源&…...

书匠策AI:期刊论文的“智能导航仪”,引领学术写作新风尚!

在学术的征途中,每一位研究者都渴望自己的论文能够像璀璨星辰般闪耀在学术的天空。然而,从构思到成文,再到成功发表在心仪的期刊上,这一过程往往充满了挑战与艰辛。幸运的是,随着人工智能技术的飞速发展,我…...

9 openclaw插件机制揭秘:如何扩展框架功能

背景/痛点在OpenClaw框架的实际应用中,开发者常常面临功能扩展的挑战。随着业务需求的复杂化,核心框架难以覆盖所有场景,而重复开发相似功能又会降低开发效率。传统的继承方式会导致代码膨胀,且缺乏灵活性。OpenClaw的插件机制通过…...

8 openclaw配置管理最佳实践:避免常见配置陷阱

背景/痛点在OpenClaw项目中,配置管理往往是最容易被忽视却又至关重要的环节。许多开发者习惯于将配置项硬编码在代码中,或者使用简单的.properties/.yaml文件,导致在大型项目中出现配置混乱、环境隔离困难、敏感信息泄露等问题。我曾在一个项…...

7 OpenClaw工作流程详解:从请求到响应的完整生命周期

背景/痛点 在分布式系统中,高并发、低延迟的服务架构一直是开发者追求的目标。传统HTTP协议在处理大量连接时存在性能瓶颈,而自定义协议如openclaw应运而生。openclaw是一种基于TCP的二进制协议,专为高性能通信场景设计,但在实际…...

AI是杠杆,不是拐杖

同样是用 AI 写代码,一年后,有人变得更强,有人变得更废。 区别不在工具,在用法。杠杆和拐杖,表面像,本质反 杠杆和拐杖看起来很像:都是借助外力完成自己单独做不到的事。但有一个根本区别&#…...

“钱学森之问“研究

"钱学森之问"研究摘要"钱学森之问"是21世纪以来中国教育界最受关注的"现象级"命题,源自2005年钱学森对温家宝总理的一次谈话。这一追问不仅触及中国高等教育的深层困境,更关乎国家创新体系建设和民族复兴的战略全局。本报…...

为什么你花钱回收的问卷,全是“机器人”填的?

花了几万块投放问卷,回收了3000份答案,满心欢喜打开后台——结果傻眼了:IP地址全是同一个、开放题回答全是“哈哈哈”、逻辑前后矛盾得一塌糊涂。这样的场景,是不是似曾相识?在问卷调研越来越普及的今天,假…...

OpenClaw面向国产 IM 平台插件免费开源,支持微信,飞书,钉钉,QQ,企业微信

大家好,我是小悟。 在当今数字化转型浪潮中,人工智能技术正逐步渗透到企业运营的各个环节,成为提升效率、优化决策的重要工具。 然而,对于许多企业和开发者而言,如何让AI助手真正融入中国特有的职场沟通环境&#xff0…...