看了最強大腦的速算,自己也想編個程式進行大資料的乘除。正好用最強大腦的題目進行驗證。思路很簡單,都是純模擬。乘法很快就實現了,除法調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表示的是第幾圈 下面貼上...