大數運算 #34
Replies: 5 comments 2 replies
-
其實在其他程式語言例如C/C++,這題目給的數字就會是以string的資料型態表示,這時確實選擇使用array存取是最佳的方法,不過還要記的一件事此時每一個數字的資料型態為char要參考ASC的編碼規則才不會出錯 |
Beta Was this translation helpful? Give feedback.
-
太酷了吧,雖然我沒遇過這個問題,但是這個討論蠻有趣的讓我學到了,感謝感謝 |
Beta Was this translation helpful? Give feedback.
-
當在程式中遇到overflow的問題時,分割數字並以矩陣或向量存取的方式進行運算是一個常見的解決方法。這樣的處理方式可以幫助避免數字過大而導致的溢位問題,並確保計算結果的準確性。
|
Beta Was this translation helpful? Give feedback.
-
我這裡想提供另外的方法,十分簡單,但我覺得很實用。 我自己有時候發現數字太大的時候,我就把 int 改成 long int,再不行就改成 long long int,然後就會過了。就是這麼簡單又樸實無華,不用複雜的操作,提供給大家參考。 |
Beta Was this translation helpful? Give feedback.
-
我都沒想過這個問題 |
Beta Was this translation helpful? Give feedback.
-
在其他程式語言中,也許會遇到overflow的問題,
那麼問題來了,如果發生這種情況該如何處理?
其實一點也不難,將這串數字分割成能運算的大小,
並以矩陣或向量存取,再對其進行運算。
ex
1234567899876543211234567890
-> 1 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 0
加減法可以用直式處理,
而乘法部分發展出許多演算法,
快速傅立葉運算(FFT)就是其中之一。
Beta Was this translation helpful? Give feedback.
All reactions