引用:
作者奶油銓
a.您這個算法規則其實是有問題的,至少規則上來說您就寫錯了。按您的邏輯來做 1742 除以178
1. 先拿被除數前兩位17除以除數前兩位17 得商是1,餘數0。 降下一位4,這個4要減去8*1,不夠減。
因此您的運算規則就錯了,這個題目用您認為的算法得要用下面的步驟
1. 先拿被除數前三位174除以17,商用9,這時餘數是21,退下被除數的下一位變成212。 212要減去(8乘上9)得結果是140。(這裡就會碰到反直覺的餘數是21,大於你自以為的除數是17的問題了)
2. 140已經小於178且沒有位數可以退了,因此計算停止。
驗算 178*9+140 = 1742
很明顯您給出的運算規則就是不完整的。
b. 3246738÷1789 用您上述的規則拆成 178 跟 9 兩組是可行的(被除數一樣是要取三位,但也如同我上面所說的,是這組除數與被除數可行,因為您給出的規則不完整)。但是拆成17 跟 89 兩組的話,我認同超軼絕塵網友的結論,用...
|
你好,謝謝你的指教…
有鑑於我只剩下一張古早時代的手抄計算過程,我並不能知道這些問題「至少我對數學也沒什麼天賦」。
我只是遇然的拿到這張手抄,看了許久又跟著算了一下,發覺有點意思所以才貼上來。
而我看到的好處是他可以大數分解,不論被除數或除數,而且可以遂次計算而且步驟相對固定。
對『現代』人及『現代』數學工具「包含計算機跟電腦」這個問題理當不是什麼大問題,甚至你可以用演算法去做大數除法。
雖然我對數學沒什麼好感,但是我一直對除法有一些特別的想法,就是如何盡可能的平行計算商跟餘。
當你能對除數及被除數分解時,計算的速度其實是會提高而成本其實是會下降。
如果你的分解還能允許某種程度的相對平行或是錯位平行是最好,因為你更有機會用更短的時間或是用更多的輔助機制加快計算。
有人會說人是不需要這樣計算的,但是對機器來說就不一定了。
最後,各位可以去看一下人類第一個大數快速乘法Karatsuba算法。
反過來說,就我自已知道的部份,人類還沒有找到大數快速除法的算法。
不要說大數,就連快速都沒有。
如果人類找不到大數快速除法,那就只好往分解、平行或是提高計算速度的輔助機制去找答案,這才是我當初看到這張手抄時會感到有興趣想上來問問高手的原因。