大整數加法、大整數減法、大整數乘法、大整數除法(還未寫)
大整數的加法:先對資料進行預處理是兩個大整數的位數相等,位數少的那個數在高位補0,使兩數的位數相等,便於計算資料的進製,只需要在函式呼叫的結尾檢查一下最高為是否存在進製的情況,如果需要進製則只需要在最後將進製的數加入到返回值中。加法是對兩個數從低位向高為相加,對每次相加的值,計算進製,取模加入到當前位置。
大整數減法:函式先對兩個相等的數比較如果相等則直接返回0,然後判斷兩個數的大小,如果被減數大於減數則符號取負,兩數交換位置;然後按照加法的做法對較小的數高位補0,最後由低位向高位按位相減。
大整數乘法:大整數的乘法與加法減法有極大的區別,乘法雖然也是按位相乘,但是不能直接簡單的將字串相拼接,例如兩個兩位數相乘
即在計算前因先對
#include#includestd::string add(std::string s1,std::string s2)
if(up)
s3="1"+s3;
return s3;
}std::string sub(std::string s1,std::string s2)
std::string s3;
bool flag=false;
if(s1.length()=0; i--) else
s3=(char)('0' + k) + s3;
} k=0;
while(s3[k]=='0' )
s3=s3.substr(k);
if(flag)
s3="-"+s3;
return s3;
}std::string mul(std::string s1,std::string s2)
k=(char)(s3[i+j-d]+up-'0');
up=k/10;
s3[i+j-d]=(char)(k%10+'0');
d++;
}} }
return flag + s3;
}
大整數運算之 大整數加法 減法 乘法
其實大整數的問題都是在像我們打草稿的時候列豎式一樣的,不要告訴我你不知道什麼叫豎式 其實我開始也不知道它叫這個名字 所謂豎式,就是你打草稿算算術的方法,小學知識 比如你寫 11 9 11 9 20數a,b,求和,求差 數的長度不超過1000 貼個 先輸入乙個數,代表資料的組數n,然後輸入n組a b ...
大型整數運算 加法, 減法, 乘法
from 用int數模仿真整數的每乙個位,大於10的要進製,負數要借位。include include define max digit 500 大數運算 加法 int multiply int a,int b,int result 大數運算 乘法 int add int a,int b,int r...
大整數問題,乘法,加法,階乘
大整數相乘 c i j a i b j 陣列的每一位相乘然後相加,並得到最終結果 再考慮進製問題 include include define size 50 int a size b size c size 2 void big multi int a,int b,int c c k 0 prin...