大數相乘,含小數點哦!

2021-05-23 09:10:52 字數 1187 閱讀 7209

///上個星期五跟bf一起做了北大的oj,本來信心滿滿,第一題熟悉環境就搞了很長時間,到第二題就傻眼了,不會了哦!

///誇一下,bf立馬反應出是大數相乘的問題,但是我以前看到這個類似的,沒看就過了,後悔,,but哥也不會。。。。

///然後呢,某天,哥興奮地告訴我,他在圖書館看到乙個演算法書,上面有這題。。。

///嘻嘻,然後,然後,然後,我就敲敲**,過來寫部落格咯!!

///以上純屬家常。。。。

關於大數相乘的注意點:

1.兩個數相乘,乘積最高位可能是n1+n2(兩個數字之和) 或者 n1+n2-1  //這裡不考慮乘數為0等一些意外情況

小數點後的位數,為兩個乘數的小數部分位數之和。

2.根據以上推斷,若是兩個帶小數部分的大位乘數相乘,則先忽略小數部分,先作為整數乘,在結果中,數出小數字數,加個小點,就ok啦!

3.大數相乘的基本思想還是將字元輸入的數字轉化成陣列,有一點要注意,字元轉數字相乘時得  「x」-'0' ,

來兩個迴圈,開始小學時候的豎式相乘吧!

4.當轉成陣列時,得要反序排列,,你比如 「2355678」作為字串輸入,

那 arr[1] 就是『8』 ,arr[2] 就是 『7』  ,你問我為什麼這麼排,方便唄,你想想,你要是倒著排,你若果要進製往哪兒進,還得往前移一位,是不。所以呀,陣列的高位可以隨意是n1+n2  或是n1+n2-1 阿!

5.還有就是輸出時,要注意n1+n2 位要單獨判斷後輸出,

6.注意進製問題,這裡的進製**上,我加了詳細的注釋,,今天在那本書的前一節,我看到了乙個更有意思的進製,下次有機會也貼出來。。。。

哥說,這個**還有很多優化的地方,不過,我先不管了,貼上來再說吧!

重要部分我已經加了注釋;

python小數點 python 小數點問題

我想生成一組小數,大小為從0到1,間隔為0.2,即 0,0.2,0.4,0.6,0.8,1 1.while迴圈生成 a list i 0 while i 1 i 0.2 print a list 列印結果為 0,0.2,0.4,0.6000000000000001,0.8,1.0 奇怪,為什麼會有0...

討厭的小數點

小明一直很討厭小數點,一看到小數點就頭疼。不幸的是,小紅給他出了乙個題目,問他 給你乙個小數x,你能算出小數點後第n位是什麼嗎?1 n 6 小明看到此題後,瞬間頭疼暈倒,你能幫幫他嗎?首先輸入乙個t,表示有t組資料,跟著t行 每行輸入乙個小數 輸入資料保證一定是a.b的形式,為了簡單化問題,沒有迴圈...

js小數點處理

現實開發當中,我們總是會遇到 金額計算 問題,我們本以為js中0.1 0.2 0.3,結果0.300000000000000004,所以我們顯示金額數值的時候,經常會不准,測試經常會提這樣有多個小數點的bug,遇到這樣的問題我們該怎麼辦?解決辦法 把小數先裝成整數計算。比如 0.1 100 0.2 ...