模組:Number/doc
外观
这是Module:Number的文档页面
此模块文档被引用於約5,100個頁面。 為了避免造成大規模的影響,所有對此模块文档的編輯應先於沙盒或測試樣例上測試。 測試後無誤的版本可以一次性地加入此模块文档中,但是修改前請務必於討論頁發起討論。 模板引用數量會自動更新。 |
Module:Number(编辑 | 讨论 | 历史 | 链接 | 监视 | 日志)
此模組用於數字相關程式,例如特定數字的性質判別,或列出整數的部分性質。
函數說明
[编辑]singleNumberInformation
[编辑]輸入一個整數,列出支援計算的性質,並且支援格式自定義。較小的數字支援序數,其方法為查表法,相關內容定義於子頁面。
語法
[编辑]{{#invoke:Number|singleNumberInformation | 1 = 要印出性質的數字 | use math = 是否使用<math></math>
| print list = 要印出的性質(寫在這裡不代表一定會印出,除非數字真的有此性質才會印出) | print black list = 不印出的性質 | 完全數 = 完全數性質的描述字串,會自動將形如{{{}}}
的內容換成自動計算之結果, 請參閱下方說明 (未填寫將使用預設) | (...其他性質) = 其他性質的描述字串,支援的性質請參閱下表 (未填寫將使用預設) | SemiperfectNumber = 是否取消半完全數/奇異數的相關計算 }}
參數
[编辑]- 1
此參數為要顯示性質的數字
- use math
此參數為要是否要生成<math></math>
的標記於部分數學式。例如:
{{#invoke:Number|singleNumberInformation|1=70 | use math = yes }}
- 結果為:
____ |
|
{{#invoke:Number|singleNumberInformation|1=70 | use math = no }}
- 結果為:
____ |
|
- <性質名稱>
此模块使用Lua语言: |
此參數的名稱即為性質名稱,後面須放置一串性質描述字串,例如
| 合數 = *{{{number}}}是第{{{order}}}個{{{property}}},其存在正因數{{{value}}},上一個{{{property}}}為{{{last}}}、下一個為{{{next}}}。
- 將顯示為:
____ |
- 其中:
{{{number}}}
被替換為當前數字,本例為28。{{{order}}}
被替換為當前數字位於當前數列的第幾個,本例28為第18個。{{{property}}}
被替換為當前數列的內部連結,本例為「合数」。{{{value}}}
被替換為當前數列的可自動計算性質,詳細性質資料可於下方表格找到。
- 本例合數的
{{{value}}}
為列出其正因數。
- 本例合數的
{{{last}}}
、{{{next}}}
被替換為當前數字位於當前數列中的前一個數以及下一個數。
- 其中:
- 其他能用的性質參數、與支援的
{{{}}}
參數列於下表:
|
|
- SemiperfectNumber
開啟或關閉半完全數判斷
- 支援的值:yes、no
- 半完全數定義為至少存在一組真因數,其和為本身,因此要檢查一數是否為半完全數,則需要把真因數的子集檢查一遍
- 由於一個集合中子集的數量為個,因此當因數非常多時,其運算可能超時,而MediaWiki限制了模組總時間為10秒。
- 此判斷為本模組中最慢的演算法,因此設計開關可以關閉
- print list
要印出的性質列表,以逗號分隔,例如合數,質因數分解,奢侈數
。
- 預設值為
質數,孿生質數,高斯質數,合數,質因數分解,虧數,過剩數,完全數,半完全數,奇異數,歐爾調和數,不尋常數,半質數,佩服數,無平方數因數的數,楔形數,平方數,立方數,普洛尼克數,自我數,等數位數,節儉數,奢侈數,不可及數,可作圖多邊形
- 預設值為
- print black list
不要印出的性質列表,以逗號分隔,例如虧數,質因數分解,可作圖多邊形
。
- 預設值為
自然數,整數
- 預設值為
例外狀況
[编辑]- 不是一個數字。
- 輸入的內容無法被解析為數字,
- 例如:
{{#invoke:Number|singleNumberInformation | 1 = 娜娜奇 }}
→錯誤:「娜娜奇」不是一個數字。。
- 例如:
- 絕對值已超出支援的處理範圍。
- 輸入的數字,絕對值太大,考量處理可能超時,或者會高過Lua整數支持()變成浮點數遺失精確度等種種造成錯誤的問題,因此設定運算上限為35,184,372,088,831。
- 不是實數整數()的情形
- 輸入的數不是實數整數()的話雖然不會導致錯誤,不過其可能不是一般數論的可處理範圍內,因此不會跑正常的數字判斷程式,只會輸出固定的性質字串
____ | 例如:{{#invoke:Number|singleNumberInformation | 1 = 0.25 }} →
|
例如: |
範例
[编辑]{{#invoke:Number|singleNumberInformation | 1 = 28 |use math=yes}}
____ | 結果為: |
- 輸入一串僅有加減法的字串也能夠被支援
{{#invoke:Number|singleNumberInformation | 1 = 2+3+5+7+11 |use math=yes}}
____ | 結果為: |
- 可透過輸入描述字串修改陳述方式
_ | 原始碼為:
{{#invoke:Number|singleNumberInformation|1=28|use math=yes | 合數 = *{{{number}}}是{{{orderstr}}}{{{property}}}。 | 質因數分解 = *{{{number}}}<math>=</math>{{{value}}}。 | 完全數 = *{{{number}}}是{{{property}}}。 | 半完全數 = *{{{number}}}是{{{property}}}。 | 歐爾調和數 = *{{{number}}}是{{{property}}}。 | 不尋常數 = *{{{number}}}是{{{property}}}。 | 奢侈數 = *{{{number}}}是{{{property}}}。 }} |
結果為: |
numberDivisorInformation
[编辑]輸入一個整數,列出支援計算的性質
參數
[编辑]- 1:要列出支援計算的性質的整數
回傳值
[编辑]- 列出支援計算的性質
目前已支援判斷的性質
[编辑]- 以下數字為示範用,並非實際數字
種類 | 自動產生的資訊 | 序數支援 | 開啟/關閉的參數 | 自定義字串參數 | 預設說明字串 |
---|---|---|---|---|---|
質數 | 無 | 自動列出此數是第幾個質數 | 未實作 | 未實作 |
|
孿生質數 | 實際的孿生質數數對 | 不支援 | 未實作 | :頭部:|(數字名稱)孿生質數=
|
自定義:
|
負數 | 無 | 不支援 | 未實作 | 未實作 | |
合數 | 列出正因數,(未實作關閉的方法) | 不支援 | 未實作 | :頭部:|(數字名稱)因數=
|
自定義:
|
質因數分解 | 列出質因數分解的式子 | 不存在 | 未實作 | :頭部:|(數字名稱)質因數分解=
|
自定義:
|
虧數 | 虧度 | 不支援 | 未實作 | :頭部:|(數字名稱)虧數=
|
自定義:(不夠靈活,此處會再改進)
|
過剩數 | 盈度 | 不支援 | 未實作 | :頭部:|(數字名稱)過剩數=
|
自定義:(不夠靈活,此處會再改進)
|
完全數 | 無 | 不支援 | 未實作 | :頭部:|(數字名稱)完全數=
|
自定義:
|
半完全數 | 和為自身的因數組合 | 不支援 | | Semiperfect Number =
|
:頭部:|(數字名稱)半完全數=
|
自定義:
|
奇異數 | 無 | 不支援 | | Semiperfect Number =
|
:頭部:|(數字名稱)奇異數=
|
自定義:
|
歐爾調和數 | 因數的调和平均数 | 不支援 | 未實作 | :頭部:|(數字名稱)歐爾調和數=
|
自定義: |
不尋常數 | 大於平方根的質因數 | 不支援 | 未實作 | :頭部:|(數字名稱)不尋常數=
|
自定義:
|
半質數 | 無 | 不支援 | 未實作 | :頭部:|(數字名稱)半質數=
|
自定義:
|
佩服數 | 因數d,除d外的因數相加減掉d等於自己本身。 | 不支援 | 未實作 | :頭部:|(數字名稱)佩服數=
|
自定義:
|
無平方數因數的數 | 無 | 不支援 | 未實作 | :頭部:|(數字名稱)無平方數因數的數=
|
自定義:
|
楔形數 | 無 | 不支援 | 未實作 | :頭部:|(數字名稱)楔形數=
|
自定義:
|
平方數 | 是誰的平方 | 不支援 | 未實作 | :頭部:|(數字名稱)平方數=
|
自定義:
|
普洛尼克數 | 哪兩個連續整數相乘 | 不支援 | 未實作 | :頭部:|(數字名稱)普洛尼克數=
|
自定義:
|
等數位數 (十进制) | 無 | 不支援 | 未實作 | :頭部:|(數字名稱)等數位數=
|
自定義: |
節儉數 (十进制) | 無 | 不支援 | 未實作 | :頭部:|(數字名稱)節儉數=
|
自定義: |
奢侈數 (十进制) | 無 | 不支援 | 未實作 | :頭部:|(數字名稱)奢侈數=
|
自定義: |
範例
[编辑]- 例如70
{{#invoke:Number|numberDivisorInformation|1=70|use math=yes}}
- 結果為:
- 若輸入無效數字將返回錯誤
{{#invoke:Number|numberDivisorInformation|1=娜娜奇}}
- 結果為:錯誤:無法處理數字'娜娜奇'
_checkSemiperfectNumber
[编辑]檢查數字是否為半完全數,不支援#invoke
- 語法
_checkSemiperfectNumber(input)
- 參數
- input:整數,要檢查是否為半完全數的數字。
- 回傳值
- 一維陣列,其中一個和為自己本身的因數序列
_checkSemiperfectNumberByDivisor
[编辑]輸入某數的所有正因數,檢查數字是否為半完全數,不支援#invoke
- 語法
_checkSemiperfectNumberByDivisor(input)
- 參數
- input:某數的所有正因數。
- 回傳值
- 一維陣列,其中一個和為自己本身的因數序列
checkSemiperfectNumber
[编辑]輸入一個整數,並回傳其所有因數
- 參數
- 1:要找出因數的整數
- 回傳值
- 以逗號分隔且和為自己本身的因數序列
- 範例
- 例如360
{{#invoke:Number|checkSemiperfectNumber|1=360}}
- 結果為:1,2,3,4,5,6,8,9,10,12,15,18,20,24,30,36,40,45,72
- 例如找出輸入若為奇異數則返回空
{{#invoke:Number|checkSemiperfectNumber|1=70}}
- 結果為:
- 例如找出輸入若為虧數亦然
{{#invoke:Number|checkSemiperfectNumber|1=27}}
- 結果為:
- 若輸入無效數字將返回空字串
{{#invoke:Number|checkSemiperfectNumber|1=娜娜奇}}
- 結果為: