這部分初步練習主要是以下幾題:uvaoj的424,10106,464,748,10494
總結而言,分為大數加減,乘法,除法只涉及了高精度/非高精度
加法相對簡單,注意進製即可。
乘法主要是先將兩數所有位對應兩兩相乘,數a的i位和數b的j位相乘結果先存入result[i+j],不斷累加,最後一起計算進製問題。
而高精度/低精度是模擬豎式計算的過程,具體見10494。
另外要注意的是,string和char的互相轉換:
char*轉string: 直接賦值即可
string轉char*:string.c_str();
另外string末尾string.size()位置記得加上'\0'
最後記得,輸入時為string,計算是轉存到int陣列中,轉存時注意 - '0'
高精度演算法 入門
高精度演算法是基礎演算法中比較實用的演算法之一,它主要應用於大數之間的運算。主要是在超過lo nglo ng範圍時應用,或者兩者進行運算後超過lo nglo ng的範圍的計算。高精度是利用字元來存一串 或者 利用乙個陣列來存乙個數字。其實像小學數學一樣列乙個豎式就能看懂了。結構體 struct no...
演算法競賽入門經典高精度運算推薦題目
origin title satus uva 424 integer inquiry acuva 10106 product acuva 465 overflow acuva 748 exponentiation acuva 10494 if we were a child againac 大數相加...
演算法 高精度乘法2(高精度乘高精度)
題目描述 高精度乘,求兩個很大的非負整數相乘的結果。輸入 2個非負整數,每個一行,每個整數不超過240位。輸出 乙個整數,表示相乘的結果。例子 為了和演算法對應方便,用上面數乘下面數的方法12 5 2512 5502 5312 5為了運算方便,將上面兩數倒置,得到的結果也為倒序下標0 1234 56...