兩個整數做怎樣的演算法可以得到唯一的整數結果?有這樣的演算法嗎?

時間 2021-05-29 22:51:12

1樓:鄧鋆

如果是指數學概念上的整數的話,可以。因為在數學概念上,「整數對」和「有序整數對」都是「可列舉的」,也就是說這兩個集合和整數集合同大小。

這裡簡單描述一下正整數對與正整數的對應演算法。

具體方法上,可以假設先將所有的正整數對按照兩個數之和的大小由小到大排序,兩個數之和大小相等的情況按前乙個數的大小由小到大排序,也就是

(1,1) (1,2) (2,1) (1,3) (2,2) (3,1) ...

這樣,和為N的正整數對,恰好有N-1組。

因此可以推導出從正整數對(A,B) 得到唯一對應正整數(N)的演算法:

S = A+B

N = Sum(1 .. S-2) + A = (S-2)*(S-1)/2 + A

從正整數N推導出對應的正整數對(A,B)的方法稍微複雜,主要難在找到乙個正確的S,一般用二分查詢的方式,或者用開平方找到乙個靠近的S,再加以有限次調整的方式獲得乙個正確的S,從而計算得A和B。

對於所有整數與所有整數對的編制上,符號和0的處理會讓問題稍顯複雜。可以用絕對值排序的方法,構造乙個類似的結果出來。

但是對於計算機裡的整數的話,兩個n-bit的數,可以直接用乙個2n-bit的數來表達。直接(A<

B就是結果。

可以找到兩個整數,使其之比最接近 嗎?

毛毛熊 你這個最字,就永遠找不到了,因為 的位數是無限,所以只要你提高位數,永遠能更逼近。比如約率22 7,誤差萬分之4。你加一位。245 78,誤差萬分之1.8。密率355 113誤差億分之8。只要在密率約率的基礎上增加位數,你想要多小的誤差我都可以給你配出來,比如35500022 1130000...

是不是任意兩個不為0的整數相除一定會得到三種結果 整數 能最終除盡 無限迴圈小數

首先,有理數就是被定義為整數 非0整數。同時,整數和有限小數都等於無限迴圈0的小數。所以問題等價於 有理數 無限迴圈小數。也就是,有理數都可寫作無限迴圈小數 無限迴圈小數都是有理數。Part I.無線迴圈小數都是有理數。S 無限迴圈小數,則S可被寫為 我們可以將其寫為 其中 和 都是有理數,所以我們...

如何構造兩個互素的整數?

好多好多種辦法.最trivial的是考慮n和n 1,稍微fancy一點的可以考慮Fermat Number F 2 任意兩個Fermat Number互素。題目問的是如何構造,我就不提檢驗的事。給你乙個通用方法來構造,很簡單。我們有素數集合 然後分為兩個集合,互不交叉,只能分到其中乙個,得到P1和P...