【科技】原根的快速判斷方法以及對1求離散對數的另一種想法
鑑於實際需要,本文中所選的模數$p$總是一個平凡質數,並用$\phi$表示$\phi (p) = p - 1$。
原根的定義:
基於$p$是質數,我們可以很簡單的把它的定義想成,如果一個數$a \in [0, p - 1]$是原根的充要條件是對於$x \in [0, p - 2]$,$a^{x}$互不相同。
但根據定義講,判斷一個數$a$是否是$p$的原根是$O(p)$的,不夠優秀。
原根的快速判定方法:
首先給出結論,數$a$是$p$的原根當且僅當對於$\phi$的任意一個質因子$d$,都有$a^{\frac{\phi}{d}} \equiv 1(mod \; p)$。
相關推薦
【科技】原根的快速判斷方法以及對1求離散對數的另一種想法
鑑於實際需要,本文中所選的模數$p$總是一個平凡質數,並用$\phi$表示$\phi (p) = p - 1$。 原根的定義: 基於$p$是質數,我們可以很簡單的把它的定義想成,如果一個數$a \in [0, p - 1]$是原根的充要條件是對於$x \in [0, p - 2]$,$a^{x}$互不相同
004-spring-data-elasticsearch 3.0.0.0使用【二】-spring-data之定義方法、創建repository實例、從聚合根發布事件
-- ble sch current 4.3 ... reference tex manager 續上文 1.4、定義方法 存儲庫代理有兩種方法可以從方法名稱派生特定於存儲的查詢。它可以直接從方法名稱派生查詢,或者使用手動定義的查詢。可用選項取決於實際store。但
3520. 【NOIP2013模擬11.7B組】原根
Description Input 有且只有一個正整數m。 Output 以遞增序依次輸出模m的所有原根,每行輸出一個原根。 如果不存在模m的原根,輸出-1。 Sample Input 7 Sample Output 3 5 Data Constrai
【轉】安裝Vue.js的方法
環境搭建 node.js 初始化 其它 cnpm lan commonjs pos 重量級框架 安裝vue.js的方法 一、簡介 Vue.js 是什麽 Vue.js(讀音 /vju?/, 類似於 view) 是一套構建用戶界面的 漸進式框架。與其他重量級框架不同的是
【轉載】設計模式_模板方法(學習)
res bootstrap 重載方法 dex col 算法實現 選擇性 parent abstract 模板方法模式,一般是為了統一子類的算法實現步驟,所使用的一種手段或者說是方式。它在父類中定義一系列算法的步驟,而將具體的實現都推遲到子類。 通常情況下,模板方法模式用
【原創】Beyond Compare 萬能破解方法
use cnblogs users sse bash 主程 官網 support compare 一、Mac 平臺上的破解 在官網(http://www.scootersoftware.com/download.php)下載最新的 Beyond Compare 解壓後,
【轉】軟件需求分析方法
2.6 業務層 而且 客戶 數據類型 追蹤 回顧 經驗 矛盾 軟件需求分析(Software Reguirement Analysis)是研究用戶需求得到的東西,完全理解用戶對軟件需求的完整功能,確認用戶軟件功能需求,建立可確認的、可驗證的一個基本依據。 軟件需求分析是一
【健康】下蹲5分鐘,等於步行1小時!最簡單實用的鍛煉方法
relative 地面 提醒 mps 靈活性 ica 剛才 order 次數 【健康】下蹲5分鐘,等於步行1小時!最簡單實用的鍛煉方法2017-07-19人民日報“人老腳先衰,樹枯根先竭”。如果你不想過早衰老,便要保證腳部不衰老,所謂“養生先養腳”、“腿勤人長壽”,重視腿部
【java】java反射機制,動態獲取對象的屬性和對應的參數值,並屬性按照字典序排序,Field.setAccessible()方法的說明【可用於微信支付 簽名生成】
modifier 直接 this 字段值 1-1 讓我 toupper ima play 方法1:通過get()方法獲取屬性值 package com.sxd.test.controller; public class FirstCa{ private
【javascript】JavaScript數組常用方法
map return 函數調用 turn 就會 開頭 滿足 函數 沒有 JavaScript數組常用方法 一、數組創建 1.(1)使用Array創建數組: 1 var arr1 = new Array(); //創建一個空數組 2 var arr2 = new Array
【java】String類的基本方法
lastindex bool bsp sta substr 方法 相等 當前 start Java的String類基本方法 一、構造函數 函數 返回值 作用 String(byte[] bytes) String 通過byte數組構造字符串對象 String(
【堆】小根堆模板
esp printf 最小值 namespace 記得 class queue 二叉 %d 手寫堆 可以視作是一種完全二叉樹結構 #include<iostream> #include<cstring> #include<algor
【模板】小根堆
names ret %d opened code spa ace cnblogs 一個空格 因為根的實現方法(優先隊列)默認為大根堆,即從大到小排列,所以在需要的時候需要手寫小根堆。 題目描述 如題,初始小根堆為空,我們需要支持以下3種操作: 操作1: 1 x 表示將x插入
【shell】Linux shell 之 判斷用戶輸入的變量是否為數字
shell linux 腳本 編程 自動化運維 本文內容:判斷用戶輸入的參數是否為數字 在shell中如何進行計算? 方式一 [root@XiaoPeng scripts]# echo $((1+2)) 3 方式二 [root@XiaoPeng scripts]# expr
【轉載】C++程序崩潰排查方法
分析工具 AD 交叉 space Coding from 示例 安裝完成 來看 windows下C++程序release版本崩潰錯誤排查方法。 一個你精心設計的24小時不間斷運行,多線程的程序,突然運行了幾個月後崩了,此問題是非常難以排查的,也是很頭疼的問題。 現利用Go
【tomcat】Centos7最快速安裝tomcat網頁實驗環境(yum安裝)
tomcat一、實驗環境 EXSI6.0虛擬機系統:Centos7yum源:mirror.163.com.repo 二、實驗步驟 1、yum安裝tomcat yum install tomcat -y 2、yum安裝tomcat網頁訪問必要服務 yum install tomcat-webapps tomca
【轉】Django中使用POST方法獲取POST數據
class 需要 request www ict .html bsp 請求 post 1.獲取POST中表單鍵值數據 如果要在django的POST方法中獲取表單數據,則在客戶端使用JavaScript發送POST數據前,定義post請求頭中的請求數據類型:
【Python】hasattr() getattr() setattr() 使用方法詳解
att err value ror 綜合 設置 pytho clas rec 本文轉自 https://www.cnblogs.com/cenyu/p/5713686.html hasattr(object, name)判斷一個對象裏面是否有name屬性或者name方法,返
【轉】Java學習---快速掌握RPC原理及實現
消費者 阿裏 局限 kryo nes 很多 cal 網絡 href 【原文】https://www.toutiao.com/i6592365493435236872/ ?RPC概述 RPC(Remote Procedure Call)即遠程過程調用,也就是說兩臺服務器A,
【Android】AS報錯解決方法:Non-static method '*' cannot be referenced from a static context
轉載請註明出處,原文連結:https://blog.csdn.net/u013642500/article/details/80156306 【錯誤】 Non-static method '*' cannot be referenced from a static context