Java語言實現大數字乘除

2021-07-10 02:36:23 字數 1480 閱讀 7550

看了最強大腦的速算,自己也想編個程式進行大資料的乘除。正好用最強大腦的題目進行驗證。思路很簡單,都是純模擬。乘法很快就實現了,除法調bug調了好久。現在把**貼出來看一下,以後經驗多了再回來修改

乘法:

public stringbuffer time(stringbuffer a,stringbuffer b)

for(j=0;jlength)

}if(!has_add) break;

temp_result+=jinwei;

jinwei=temp_result/10;

length++;

} return final_result.reverse();

}

除法(非常亂的**,自己都不好意思寫了)

public class divide 

public stringbuffer divide(stringbuffer a, stringbuffer b) else

boolean equal = false;

for (i = startposition; i < a.length(); i++)

// 若不為0

for (j = 0; j < 9; j++)

equal = false;

if (numbers.get(j).length() == beijianshu.length()

&& beijianshu.tostring().compareto(numbers.get(j).tostring()) < 0)

if (numbers.get(j).length() > beijianshu.length())

}if (numbers.get(8).length() < beijianshu.length() || numbers.get(8).length() == beijianshu.length()

&& numbers.get(8).tostring().compareto(beijianshu.tostring()) < 0)

// 減

if (j > 0 && equal == false) else

}} else

}beijianshu.reverse();

}int k;

for (k = 0; k < beijianshu.length(); k++)

beijianshu.delete(0, k);

// 上數

if (i < a.length() - 1)

} return final_result;

} public vectortimeanumber(stringbuffer a)

if (jinwei != 0)

final_result.add(temp_result.reverse());

} return final_result;

}}

c語言實現大數相加

文章 兩個大數我們可以用陣列來儲存,然後在陣列中逐位進行相加,再判斷該位相加後是否需要進製,為了方便計算,我們將數字的低位放在陣列的前面,高位放在後面。捕獲.jpg include includeint main n2 10000 int result 10001 t1 10000 t2 10000...

猜數字(c語言實現)

猜數字小遊戲 系統隨機產生乙個100以內的正數,要求參與者猜出系統產生的數,要是利用2分法,7次就足夠了。如果參與者不知道使用2分法,如果9次猜不對,就算遊戲失敗。遊戲可以一直進行,只要參與者不點退出鍵。define crt secure no warnings include include in...

迴旋數字 c語言實現

昨天在看python,突然群裡有人問迴旋數字的演算法,然後就把手頭上的python丟到了一邊,做起了題.囧 說一下我的思路吧,就是將矩陣分成若干圈,每一圈看成上下左右四個數列。圈數以及數列長度如何確定?很簡單,圈數是n 2 n 2,數列長度是n 1 count 2 count表示的是第幾圈 下面貼上...