b431. 中國餘數
標籤 : 數論基礎
通過比率 : 37人/47人 ( 79% ) [非即時]
評分方式:
Tolerant

最近更新 : 2015-07-06 18:17

內容

背景

中國餘數定理 (Chinese Remainder Theorem,簡稱 CRT) 經常是工程學裡面常用的一種轉換域,很多人不知道當初在大學離散數學中學這個做什麼,但是在不少計算的設計都會運用到 CRT。由於電腦 CPU 架構中的運算單位是 32-bits 或者 64-bits (也許在未來會更長),但值域高達 128-bits 或者 512-bits 以上模擬運算成了麻煩之處。

回顧中國餘數定理 CRT

(S):{xa1modm1xa2modm2xanmodmn

  • m1,m2,,mn 任兩數互質,意即 ij,gcd(mi,mj)=1
  • 對於任意整數 a1,a2,,an 方程組 (S) 均有解,意即找得到一個 x 的參數解。

構造法解 CRT

  1. M=m1×m2××mn=i=1nmi
  2. Mi=M/mi
  3. ti=Mi1modmi,意即 tiMi1modmi
  4. 方程組 (S) 的通解形式為:
    x=a1t1M1+a2t2M2++antnMn+kM=kM+i=1naitiMi,kZ
  5. 若限定 0x<M,則 x 只有一解。

很多人會納悶通解為什麼長那樣,原因很簡單,要滿足方程組每一條式子,勢必對於 aitiMi 要滿足 xaimodmi ,因此  aitiMiai(tiMi)modmiaimodmi 成立,但是 ij,滿足 aitiMiai(tiMi)modmj0modmj

問題描述

來個簡單運用,來計算簡單的 RSA 加解密,特化其中的數學運算。

MCdmodn

n=p×q,其中 p,q 是兩個不同的質數,已知 C,d,p,q,請求出 M

輸入說明
有多組測資,每一組測資一行四個整數 C,d,p,q,其中 2p,q109, 0Cp×q,0d(p1)(q1)。保證 p,q 是兩個不同的質數。
輸出說明
對於每一組測資輸出一行,MCdmodn 的結果。
範例輸入 #1
88 7 17 11
11 23 17 11
範例輸出 #1
11
88
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 1.0s , <10M
提示 :
使用中國餘數定理加快計算,至少快 400% 倍,直接計算會拿到 TLE。
標籤:
數論基礎
出處:
[管理者: morris1028 (碼畜) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
37303 s014052@stu. ... (112屆金手3鄭宇夆) b431
python pow很好用
210 2023-08-31 09:07