原題鏈結
大數相加這種題一般是用字元陣列或者 string 將其儲存或讀入,然後從個位開始一步一步模擬加法。容易遇到的坑就是兩個數字之和的最高位進製問題,可以在進行加法之前先得到兩個數字的位數,比較之後將小的那乙個往大的那乙個上加,相當於操作的是位數較大(也就是比較長)的那乙個數字。例如是s1存了乙個3000位的數字,s2存了2000位的數字,只需要將s1與s2之和通過不停的計算儲存在s1對應的每一位中即可。
**如下
:
#include#include#includeusing namespace std;
string add(string s1, string s2)
for(int i = s1.length()-1, j = s2.length()-1; i>=0; i--, j--)
}return s1;
}string str[1005];
int main()
cin >> n;
while(n--)
return 0;
}
這讓我想到了剛開始刷 hdu 的時候做過的經典大數相加 hdu-1002 a+bⅱ。當時拿 char 陣列順序把兩個數存了進去,然後逆序把個位放到最前面開始一位一位做加法,最後逆序輸出,當時 ac 了感覺好厲害哈哈。附上當時 1002 的**:
#include #include int main()
}if(m[max_len]==0)
else
if(cntprintf("\n\n");
else
printf("\n");
cnt++;
}return 0;
}
hdu 1715 大菲波數(大數相加)
fibonacci數列,定義如下 f 1 f 2 1 f n f n 1 f n 2 n 3。計算第n項fibonacci數值。input 輸入第一行為乙個整數n,接下來n行為整數pi 1 pi 1000 output 輸出為n行,每行為對應的f pi sample input 512 345 sa...
hdu 1715 大菲波數(大數)
題意 整數大數加法 思路 大數模板 include include include include using namespace std define maxn 9999 萬進製 define dlen 4 4位class bignum bignum const int 將int轉化為大數 big...
HDU1715 大菲波數
problem description fibonacci數列,定義如下 f 1 f 2 1 f n f n 1 f n 2 n 3。計算第n項fibonacci數值。input 輸入第一行為乙個整數n,接下來n行為整數pi 1 pi 1000 output 輸出為n行,每行為對應的f pi sam...