如何计算a^b^c mod p?

2023-12-03

我正在尝试计算一些正整数 a,b,c,p 的 a^b^c mod p。一种可能的(也是显而易见的)方法是使用快速模幂,它将运行在O(log(b^c))=clog(b)。虽然我不介意这里的效率,但这种方法的明显缺点是您需要一个显式的二进制表示b^c这本身就已经是指数级的了。

所以对我来说问题是如果我不能代表b^c作为二进制表示,有没有办法可以计算a^b^cmod p 来自二进制表示a,b, and c?


(a^b^c) mod p = (((a^b) mod p)^c) mod p

所以你可以做

modpow(modpow(a,b,p),c,p);

其中所有操作数结果和子结果都是普通整数。作为modpow您可以通过求模平方来使用幂p像这儿:

  • 模块化算术和 NTT(有限域 DFT)优化

请注意,这些是利用特定选定的属性进行了一些优化p所以你需要改变线路

if (DWORD(d)>=DWORD(p)) d-=p;

into

d%=p;

[例子]

(2^3^5) % 6 = 
(8  ^5) % 6 =
  32768 % 6 = 2

(((2^3)%6)^5) % 6 = 
((   8 %6)^5) % 6 = 
(    2    ^5) % 6 =
    32        % 6 = 2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何计算a^b^c mod p? 的相关文章

  • 使用 ThreeJS 获取球体纹理上的点击位置

    目前 我有一个带有纹理的球体 它绕 y 轴旋转 我还有在 3D 空间中单击的位置 以及球体上的旋转位置 我认为 目标 获取纹理上的位置 例如 我想获取我点击的图像的哪个方块 参见示例球体和下图 在实践中 我不会使用此图像 但我觉得这将是一个
  • 是否有可能比 O(n log n) 更好地计算数字列表的中位数?

    我知道可以在 O n 中计算数字列表的平均值 但是中位数呢 有没有比排序 O n log n 和查找中间元素 或者如果列表中有偶数个项目则两个中间元素的平均值 更好的算法 是的 您可以在 O n 时间内 确定性地 完成此操作 http ww
  • 有效地将相似的数字分组在一起[重复]

    这个问题在这里已经有答案了 可能的重复 一维数数组聚类 https stackoverflow com questions 11513484 1d number array clustering 我有一个数字数组 例如 1 20 300 4
  • 投影 3D 网格的 2D 轮廓算法

    给定 一个 3D 网格 由一组顶点和三角形定义 并用这些点构建网格 问题 找到任意平面上投影的任意旋转网格的二维轮廓 投影很容易 挑战在于找到平面中投影三角形边的 外壳 我需要一些有关研究该算法的输入 指针的帮助 为简单起见 我们可以假设
  • 三次贝塞尔曲线逆 GetPoint 方程:float for Vector <=> Vector for float

    给定结果值和四个点是否可以取回 float t 如果是这样 怎么办 public static Vector3 GetPoint Vector3 p0 Vector3 p1 Vector3 p2 Vector3 p3 float t t M
  • 优雅的折线“左移”测试

    Given X Y 坐标 即车辆的位置 X Y 数组 它们是折线中的顶点 请注意 折线仅由直线段组成 没有圆弧 我想要的是 计算车辆是在折线的左侧还是右侧 当然还是在顶部 我的做法 迭代所有线段 并计算到每个线段的距离 然后 对于最近的段
  • CPU是如何做减法的?

    我有一些基本的疑问 但每次我坐下来尝试面试问题时 这些问题和我的疑问就会出现 假设 A 5 B 2 假设A和B都是4字节 那么CPU是怎么做的呢 A B添加 我知道 A 的符号位 MSB 为 0 表示正值 B 的符号位为 1 表示负整数 现
  • 在 Javascript 中获取不带模 (%) 运算符的余数,占 -/+ 符号

    对于家庭作业 我需要返回 num1 除以 num2 后的余数 而不使用内置模 运算符 我可以使用以下代码让大多数测试通过 但我一直不知道如何解释给定数字的 符号 我需要保留 num1 上的任何一个符号 并且如果 num2 为负数 还返回一个
  • 如何在给定目标大小的情况下在 python 中调整图像大小,同时保留纵横比?

    首先 我觉得这是一个愚蠢的问题 对此感到抱歉 目前 我发现计算最佳缩放因子 目标像素数的最佳宽度和高度 同时保留纵横比 的最准确方法是迭代并选择最佳缩放因子 但是必须有更好的方法来做到这一点 一个例子 import cv2 numpy as
  • 给定与总和匹配的长度的唯一 3 位数字 (-1,0,1) 序列的数量

    假设您有一个长度为 n 即空格数 的垂直游戏板 你有一个三面骰子 有以下选项 前进一 停留和后退 如果您低于或高于棋盘游戏空间的数量 则该游戏无效 一旦到达棋盘末端 唯一有效的动作就是 停留 给定确切的骰子投掷次数 t 是否可以通过算法计算
  • 确定范围是否重叠

    给定两个具有整数开始时间和结束时间的事件 E1 s1 e1 E2 s2 e2 实现快速布尔检查以查看事件是否重叠 我有解决方案 但我很想看看其他人想出了什么 编辑 好的 这是我的解决方案 e1 gt s2 s1 gt s2 e2 lt s1
  • Java中如何对整数除法进行四舍五入并得到int结果? [复制]

    这个问题在这里已经有答案了 我刚刚写了一个小方法来计算手机短信的页数 我没有选择使用Math ceil 老实说 它看起来很丑陋 这是我的代码 public class Main param args the command line arg
  • 按度数在圆上找到一个点?

    假设我们有一个 100x100 坐标系 如下所示 0 0 是它的左上角 50 50 是它的中心点 100 100 是它的右下角 等等 现在我们需要从中心向外画一条线 我们知道线的角度 但需要计算其终点的坐标 您认为最好的方法是什么 例如 如
  • 如何通用地减少子集平均值的计算?

    Edit 由于似乎没有人阅读此链接的原始问题 因此让我在这里介绍一下它的概要 正如其他人所问的 最初的问题是 给定大量值 总和将超过数据类型的值Double那么如何计算这些值的平均值呢 有几个答案说要按集合计算 比如取50个和50个数字 计
  • 在 C# 中存储矩阵值的快速且有用的方法

    我需要用 C 为 3D 引擎创建一个 4x4 矩阵类 我见过一些其他引擎将矩阵值存储在单个浮点成员变量 字段中 如下所示 float m11 m12 m13 m14 float m21 m22 m23 m24 float m31 m32 m
  • 单位安全平方根

    我只是想知道如何以与 F 正确交互的方式编写用户定义的平方根函数 sqrt 单位制 http blogs msdn com andrewkennedy archive 2008 09 04 units of measure in f par
  • GCC的sqrt()编译后如何工作?使用哪种root方法?牛顿-拉夫森?

    只是对标准感到好奇sqrt 来自 GCC 上的 math h 我自己编码的sqrt 使用牛顿拉夫森来做到这一点 是的 我知道 fsqrt 但CPU是如何做到这一点的呢 我无法调试硬件 现代 CPU 中的典型 div sqrt 硬件使用 2
  • 如何四舍五入到一半,始终为正方向? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何实现以下舍入 0 0126083
  • 在球体边缘绘制点

    因此 来自 Flash 背景的我对一些简单的 2D 三角函数有很好的理解 在带有 I 圆的二维中 我知道使用给定角度和半径将项目放置在边缘上的数学 x cos a r y sin a r 现在 如果我在 3d 空间中有一个点 我知道球体的半
  • 数学/算法使图像适合屏幕保留纵横比

    我需要数学 算法方面的帮助来拍摄已知尺寸的图像并适合两个屏幕尺寸之一 720 x 480 或 1280 x 1024 图像尺寸来自 XML 文件 但这些尺寸是 Web 尺寸 我还从 XML 中选择了一些图像 这些图像的分辨率可能比 Web

随机推荐

  • 画布中的框架不会扩展以适应画布

    我不知道为什么这行不通 我一定错过了一些东西 因为我可以使单个框架扩展以适合画布 但我无法使框架内的框架扩展以适合画布 我已经为此奋斗了几个小时 我觉得这是显而易见的事情 我期待里面的标签NoteFrame展开以填充框架 NoteFrame
  • node.physicalBody.joints 向下转型错误

    以下代码给出了一个错误 物理关节数组似乎具有 PKPhysicsJoint 类 有人知道如何在 Swift 中迭代关节吗 The 文档确实说物理Body joints应该返回一个SKPhysicsJoint数组 import SpriteK
  • R Shiny - 通过列排序禁用数据表中的特定行

    下面的应用程序包含一个数据表iris启用行选择的数据集 我想专门禁用前 3 行的选择 我可以使用发布的解决方案来做到这一点here 当表在应用程序启动时初始化时 该解决方案工作正常 但是 当您对列上的行进行排序时 例如在Species按降序
  • 如何在android中地图上两个位置之间的路径上移动图像

    我正在开发一个项目 其中显示两个随机位置以及它们之间的路径 我使用过this教程来完成 现在我想显示从一个位置到另一个位置的移动图像 我已经在这两个位置上放置了标记 而且我已经将位置保存在数组列表中 我发现了一些类似的帖子 但无法解决我的问
  • set根据操作命令在按钮组中选择特定的 jradiobutton

    我想根据actionCommand 特定jradiobutton的名称 在按钮组中设置选择特定的jradiobutton 可以使用 setSelected true 来完成 例如 JRadioButton rabbitButton new
  • 如何在 Android 中滚动“无限”宽视图?

    我正在考虑如何在 android 中滚动 无限 类似比例的控件的替代方案 简单的想法是在每次滚动移动时重新绘制整个视图 但不知怎的 这似乎不是正确的方法 可以预先绘制内容 但我不知道首先应该将视图设置为多宽 以及当用户滚动到视图末尾时会发生
  • 如何访问.net中的activemq统计插件

    我正在尝试访问 activemq 统计信息http activemq apache org statisticsplugin html in c 这就是我到目前为止所拥有的 我无法得到消费者的回复 我可以在监控网站上查看队列的计数增加 pu
  • 无法从 pywinauto 导入:导入错误:导入 win32ui 时 DLL 加载失败:动态链接库 (DLL) 初始化例程失败

    安装 pywinauto 后 我尝试运行这个简单的代码 from pywinauto import Application filename notepad exe app aplication Application start file
  • SQL 中具有多列的数据透视表

    我有这个数据 ID Month PRODUCT VALUE 1 VALUE 2 1234 1 a 34 12 1233 2 B 54 1245 3 c 23 42 1236 4 d 12 8 1238 1 a 56 5 1239 2 B 4
  • 如何在解构赋值语法中使用特殊字符(如连字符)? [复制]

    这个问题在这里已经有答案了 我很好奇为什么这看起来不可能 const a b special one a 1 b 2 special one 3 output gt missing after property id 在未来的 ES 版本中
  • 计算双精度数组中所有元素的总和

    我在使用数组进行递归时有点困惑 有人可以纠正我的错误吗 新更新 根据所需的问题 某些行无法编辑 double sum of array double x int size static double sum lt can be edit i
  • 如何创建多个本地通知

    我试图在我的应用程序中创建多个本地通知 但由于某种原因 只有第一个通知弹出 其余的不起作用 这是我的代码 我有一个名为克里亚警报 它负责创建通知 在该类中我有以下方法 void setarNotificacao NSInteger quan
  • 我可以通过通话事件启动我的应用程序吗?

    当用户通过 iPhone 拨打电话时 如何启动我的应用程序 为此 应用程序是否需要始终作为服务运行 或者即使它关闭 我也可以从调用中运行它吗 在 iOS 中无法启动应用程序来响应呼叫
  • 在返回向量的函数上使用 Numpy Vectorize

    numpy vectorize接受函数 f a gt b 并将其转换为 g a gt b 当a and b是标量 但我想不出为什么它不能与 b 作为标量一起使用的原因ndarray或列表 即 f a gt b 和 g a gt b 例如 i
  • CNUI 错误 设置了选择谓词,但委托未实现 contactPicker:didSelectContact:

    我尝试使用新的iOS 9 0CNContactPickerViewController在 Objective C 中选择联系人 我设置了委托并实施CNCContactPickerDelegate方法 import ContactsUI im
  • IE 11 兼容性视图

    我的网站在 IE11 中无法正常工作 我们发现它由于 XSLTProcessor 和 XPathEvaluator 而被破坏 因为 IE 不再支持它们 我做了一些研发 发现 IE9 和 IE10 也不支持它 但我的网站在 IE9 和 IE1
  • 如何在 WKWebView 中禁用 iOS 11 和 iOS 12 拖放功能?

    长按图片或链接WKWebView在 iOS 11 和 12 上启动拖放会话 用户可以拖动图像或链接 我怎样才能禁用它 我确实找到了一个涉及方法调配的解决方案但也可以在 WKWebView 中禁用拖放 而无需任何调整 注意 请参阅下面针对 i
  • Java 类链接解析步骤或初始化是否会导致加载其他解析的类?

    我正在浏览 JVM 规范文档和 JLS 了解 java 中的类加载机制 这是我的理解 首先 当主类被要求加载时 它 查看该类的二进制表示是否已经存在 是否已加载 如果没有 类加载器将从中加载类文件 磁盘 联动步骤 验证 准备和解决 初始化
  • 如何绑定CallScreeningService?

    我想获取通话详细信息并阻止通话 如果需要 由于 TelecomManager endCall 方法已被弃用 并且根据文档 建议使用 CallScreeningService https developer android com refer
  • 如何计算a^b^c mod p?

    我正在尝试计算一些正整数 a b c p 的 a b c mod p 一种可能的 也是显而易见的 方法是使用快速模幂 它将运行在O log b c clog b 虽然我不介意这里的效率 但这种方法的明显缺点是您需要一个显式的二进制表示b c