首页 > 其他分享 >利用模 m 的原根存在性判断以及求解

利用模 m 的原根存在性判断以及求解

时间:2023-07-25 15:01:07浏览次数:27  
标签:判断 原根 求解 二进制 互素 公因数

完整资料进入【数字空间】查看——搜索"writebug"


一、题目:

模 m 的原根存在性判断以及求解。判断 m 原根是否存在,如存在给出一个原根以及所有原根。


二、问题描述

首先要判断给定模 m 是否存在原根,然后需要对其原根进行求解。


三、数学基础

① 埃氏筛法,将给定范围内的素数以打表的形式求解出来

② 判断是否存在原根

③ 对于给定模 m,求解欧拉函数 φ(m)

④ 利用欧几里德除法判断底数 a 和模 m 是否互素

⑤ 利用模平方重复法计算同余式的结果,判断是否同余 1

四、算法描述

① 埃氏筛法:先将大小为 n 的数组全部设置为 1,从 2 开始遍历该数组,遇到值为 1 的下标,便将其下标倍数的元素设置为 0(1 为素数,0 为合数)

② 判断给定模 m,原根存在性:模 m 是 2、4、pα、2pα 中的一种,才会存在原根

③ 求解欧拉函数,通过欧拉函数公式进行求解

④ 利用欧几里德除法判断互素:求解两个数的最大公因数,若最大公因数大于 1 则不互素,若最大公因数等于 1 则互素

⑤ 模平方重复法:此处算法实现方式为:answer 为模平方重复法中的 a,base 为 b,通过位运算将指数的二进制形式 and 1,加上二进制右移运算符,从而实现每次都对指数二进制最低位进行操作,实现二进制位的遍历。当二进制为 1 和 0 时,answer 和 base 有不同的求解方式。

利用模 m 的原根存在性判断以及求解_原根

利用模 m 的原根存在性判断以及求解_数组_02

利用模 m 的原根存在性判断以及求解_数组_03

利用模 m 的原根存在性判断以及求解_数组_04

利用模 m 的原根存在性判断以及求解_最大公因数_05

利用模 m 的原根存在性判断以及求解_最大公因数_06

标签:判断,原根,求解,二进制,互素,公因数
From: https://blog.51cto.com/u_16075443/6845478

相关文章

  • 2023-07-25 uview1.0的u-number-box组件在渲染时会触发change,如何才能避免事件影响?==
    前言:购物车用到加减购物车数量的一个步进器组件,使用的是uview组件1.0版本的u-number-box。该组件设置了一个@change事件,该事件会在页面渲染的时候触发一次,如果你在里面调用了接口,比如增加/减少购物车数量,那么每次一刷新购物车该事件就会被触发,从而导致不必要的报错。解决方案:在......
  • vs c#判断程序是否调试模式,开发模式,发布模式,Debug模式,Release模式
    转发自:https://blog.csdn.net/qq_37664403/article/details/1187471951.Debug模式,Release模式#ifDEBUGConsole.WriteLine(“Debug模式”);#elseConsole.WriteLine(“Release模式”);#endif此方法适合习惯好的程序员,但是对我来说不怎么习惯使用,因为调试个代码,和不在调试情况下运......
  • HJ107 求解立方根
    1.题目读题HJ107 求解立方根  考查点 2.解法思路 解题思路:我们可以使用二分法来求解立方根,即在一个区间内不断缩小范围,直到找到一个满足条件的数。首先,我们确定一个初始区间[0,N],然后计算区间的中点mid=(0+N)/2,判断mid的立方是否等于N,如果等于,则直接返......
  • 【智能优化算法】基于黄金莱维引导机制的阿基米德优化算法(MSAOA)求解单目标优化问题
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 基于cvx求解储能调峰调频模型附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 判断iframe加载成功与否
    素材库应用中,有一种素材是链接素材。在用户打开链接素材的时候,会将链接放到iframe中显示。但事情总不尽如人意,有时候会出现以下问题:iframe中访问https://www.baidu.com,发现打不开,原因是百度为了防劫持,而在响应中设置了阻止iframe显示自己网页的字段.用户有可能填写的是错误的网......
  • android 判断本地图片是否能正常显示
    Android判断本地图片是否能正常显示在Android开发中,我们经常需要加载并显示本地图片。但有时候,我们可能会遇到本地图片无法正常显示的情况。本文将介绍如何在Android中判断本地图片是否能正常显示,并提供相应的代码示例。1.问题描述在Android中,我们通常使用ImageView来显示图片......
  • java 判断数字是否存在数组内
    Java判断数字是否存在数组内在Java中,我们经常需要判断一个数字是否存在于一个数组中。这种情况在编程中经常会遇到,无论是查找某个元素是否存在,还是计算某个特定值的出现次数。在本文中,我们将介绍几种常见的方法来判断数字是否存在于数组内,并给出相应的代码示例。方法一:使用循环......
  • java 判断是否是今天
    Java判断是否是今天作为一名经验丰富的开发者,我将教会你如何使用Java判断一个日期是否是今天。下面是整个流程的步骤表格:步骤描述步骤1获取当前日期和时间步骤2获取给定日期的年、月、日步骤3对比当前日期和给定日期的年、月、日现在,让我们逐步完成每个步......
  • java 判断泛型T的类型
    Java判断泛型T的类型1.概述在Java中,泛型是一种强大的类型安全机制,它可以使我们写出更加灵活和可重用的代码。然而,在某些情况下,我们可能需要判断一个泛型T的具体类型。本文将向你介绍一种方法来判断泛型T的类型。2.实现流程下面是实现判断泛型T的类型的流程:步......