数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 60|回复: 0

模運算符的改進及應用

[复制链接]
发表于 2025-8-25 16:21 | 显示全部楼层 |阅读模式
本帖最后由 蔡聽濤 于 2025-8-25 11:33 编辑



模運算符的改進及應用


模運算符mod是一種基本數學運算符號,表示取模(或取餘)運算(Modulo),即兩個整數相除後取餘數的運算,例如計算7 mod 3時,由於7除以3的商為2,餘數為1,故7 mod 3 = 1。一般地,模運算mod的定義如後:
當兩個整數 a 和 n 進行除法運算時,a 除以 n 的商為 q(整數部分),餘數為 r。此時,我們稱a 對 n 取模的結果為 r,記作 a mod n = r 或 a % n = r,而稱 n為模數。
有時也會使用等價形式 [a]_n 或 <a>_n 來表示 a 對 n 取模後的結果集合。
模運算是一種二元運算,其結果是一個非負整數且小於除數 n。
Modulo一詞源自拉丁文Modus,意為「量度、方式、模式、風度」.中譯為「模」,音意兼顧,極為巧妙。
模運算符mod 最早由高斯於1801年在其《算術研究》使用, 高斯還發明≡表示同餘關係,如:
若 a mod n = b mod n,則稱 a 與 b 關於模 n 同餘,記作 a ≡ b (mod n)。
mod用作算符,總感覺不大簡潔,1970年代開始計算機編程語言用百分號%替代mod。但%有歧義,且%中的小圈&#186;容易被誤讀為0。筆者曾于2020年2月22日想出用 &#8274;來表示模運算符,2025年8月22日查到 &#8274;已用作商業符號,表示負數,又想出用./.表示模運算。本符號對比mod和%,極為簡潔明瞭,例如:
23mod7=2            23≡2(mod7)
23%7=2              23≡2(%7)   
23./.7=2              23≡2(./.7)         
又如模運算的基本性質及週期性表示:
基本性質之一:
(a + b) mod n ≡ [(a mod n) + (b mod n)] mod n
(a + b) % n≡ [(a % n) + (b% n)]%n
(a + b) ./. n≡ [(a./. n) + (b./.n)] ./. n
週期性:
    (a + kn) mod n ≡ a mod n
    (a + kn) % n ≡a% n
    (a + kn) ./.n ≡a ./. n
mod不僅書寫繁瑣,識讀也容易與代數符號a,n等混響,%儘管書寫較簡便,但也不如./.便捷,且識別度也稍差。書寫./.時,可先寫/再寫兩點。目前計算機沒有獨立符號「./.」,暫時可用三個半角字符組合而成。將來若能進入&#160;Unicode 標準,並與 ≡同用一個獨立按鍵,則輸入更為便捷。

後面再舉幾例實際應用:
(1)問:今天是2025年8月22日星期五,下月9月22日是星期幾?
解:(31+5)./.7≡36./.7=1
答:2025年8月22日是星期一。
(2)問:現在是北京時間2025年8月22日上午9時18分,紐約什麼時間?已知北京時區是東8區,紐約時區是西5區。
解:(9-8-5)./.24≡-4./.24≡(-24+20)./.24
答:現在紐約是8月21日20時18分。
(3)問:公曆2025年是夏曆乙巳年,數學家丘成桐生於1949年,求其生年干支及生肖。
解:先排列天干地支的序號:
天干:甲1,乙2,丙3,丁4,戊5,己6,
庚7,辛8,壬9,癸10(0)
地支:子1,丑2,寅3,卯4,辰5,巳6,
(生肖)鼠   牛    虎   兔    龍    蛇
午7,未8,申9,酉10,戌11,亥12(0)
          馬   羊    猴   雞    狗     豬
[干,支]=[10,12]=60,年份差Δ=2025-1949=76
(乙-76)./.10=(2-76+80)./.10≡6./.10≡己./.10
(巳-76)./.12≡(6-76+72)./.12≡2./.12≡丑./.12
答:數學家丘成桐生年公曆1949年是夏曆己丑年,其生肖屬牛。
(4)問:唐代詩人韋莊的《秦婦吟》描寫黃巢之亂的情景,云「中和癸卯春三月,洛阳城外花如雪。東西南北路人絕,綠楊悄悄香塵滅」,假若只曉得其時間大概在公元九世紀(800年代)後期,公曆1911年是辛亥年,請問「中和癸卯」對應公曆哪一年?
解:1.推算公曆800年代的辛亥年:
1911./.69≡(1911-1080)./.60≡831./.60≡891./.60
    2.以800年代的前一個辛亥年831年為基準往後推算,「中和癸卯」,設年份差Δ,則:
Δ./.10≡(癸-辛)./.10≡(10-8)./.10≡2./.10≡52./.10
Δ./.12≡(卯-亥)./.12≡(4-12)./.12≡-8./.12≡4./.12≡52./.12
  831+52=883
答:韋莊《秦婦吟》詩中的「中和癸卯」對應公曆為883年。
(5)問:孔子生日,《春秋公羊傳》記爲魯襄公二十一年十一月庚子日,《春秋穀梁傳》記爲魯襄公二十一年十月庚子日,哪個可信?
《春秋公羊傳》:「(襄公)二十有一年,……九月庚戌朔,日有食之。冬十月庚辰朔,日有食之。……十有一月,庚子,孔子生。」
《春秋穀梁傳》:「(襄公)二十有一年,……九月庚戌朔,日有食之。冬十月庚辰朔,日有食之。……庚子,孔子生。」
解:1.求庚子與庚辰日期的最小差。
(庚-庚)./.10≡(7-7)./.10≡0./.10≡20./.10
(子-辰)./.12≡(1-5)./.12≡-4./.12≡20./.12
2.分析:十月朔日(初一)庚辰日後20日為庚子日(二十一日),而下一個庚子日相距60日,應在十二月,不可能在十一月。
答:《春秋穀梁傳》所載的孔子生日可信,為魯襄公二十一年十月庚子(二十一日)。此為周曆,相當於夏曆八月庚子(二十一日)。換算為公曆是公元前552年10月9日(參見江曉原《孔子誕辰考》,1999年)。
(6)問:《孫子算經》:今有物不知其數,三三數之賸二,五五數之賸三,七七數之賸二。問物幾何?
解:《孫子算經》有此類問題的通用解法,被稱作「孫子定理」或「中國剩餘定理」。此問題相當於求解同餘方程組:
x ≡ 2 (./.3)
x ≡ 3 (./.5)
x ≡ 2 (./.7)
1.求模數乘積:M = 3×5×7 = 105
2.求各模數下的乘逆:
  M&#8321; = 105/3 = 35,  35 ./. 3 ≡ 2,  
∵ 35 ./. 3 ≡ 2, 且 35 × 2 = 70, 70 ./. 3 ≡ 1,
∴ 35 在模 3 下的逆元為 2。
  M&#8322; = 105/5 = 21,  21 ./. 5 ≡ 1,  逆元為 1
  M&#8323; = 105/7 = 15,  15 ./. 7 ≡ 1,  逆元為 1
3. 構造解:
x ≡ (2×70 + 3×21 + 2×15) ./. 105
     ≡ (140 + 63 + 30) ./. 105
     ≡ 233 ./. 105 ≡ 23
答:該物最小數為23。
  
    前面的用例充分顯示出模運算符「./.」簡潔實用的優越性。此符號形態簡潔,既契合現代數學與計算機科學對形式化、高效率的追求,其「點」與「線」的基本幾何元素也易於融入全球不同的語言文化體系。期待「./.」能成為連通古今數學智慧、促進碳硅文明對話的一座新橋樑。

公元2025年8月23日
夏曆乙巳年七月朔日 蔡聽濤 記


本文最初發表在知乎
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-8-30 10:25 , Processed in 0.071940 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表