大整數加法
兩個大整數加法 普通整形或者長整型儲存不下的時候 需要用到字元 和陣列
由於加法會進位 所以我們需要將數字反向放入陣列 將第0位 存入字元長度
#include<iostream>
#include<cstring>
using namespace std;
int num1[105],num2[105],sum[105];
char s1[105],s2[105];
int main(){
cin>>s1>>s2;
num1[0] =strlen(s1);
num2[0] =strlen(s2);
for(int i=0,j = num1[0];i<num1[0];i++,j--){
num1[j]=s1[i]-'0';
}
for(int i=0,j = num2[0];i<num2[0];i++,j--){
num2[j]=s2[i]-'0';
}
sum[0]=max(num1[0],num2[0]);
for(int i=1;i<=sum[0];i++){
sum[i] =num1[i] +num2[i];
}
for(int i=1;i<=sum[0];i++){
if(sum[i] > 9){ //存在進位的情況下
sum[i+1]++;
sum[i]-=10;
if(i==sum[0]){
sum[0]++; //存在進位就加位數 使迴圈再多進行一位
}
}
}
for(int i=sum[0];i>0;i--){
cout<<sum[i];
}
cout<<endl;
return 0;
}
相關文章
- 大數加法
- 大數加法乘法
- 【LeetCode-陣列】陣列式整數加法LeetCode陣列
- LeetCode989——陣列形式的整數加法LeetCode陣列
- 大數加法(處理不了負數)
- C語言程式設計-長整數加法運算C語言程式設計
- 大數運算—大數加法、減法、乘法、除法詳解
- LeetCode每日一題: 陣列形式的整數加法(No.989)LeetCode每日一題陣列
- 關於大數斐波拉契加法
- 大整數乘法
- [藍橋杯][演算法提高VIP]大數加法演算法
- PAT-B 1079 延遲的迴文數【字串+大數加法】字串
- LeetCode-2. 兩數相加(連結串列+大數加法模擬)LeetCode
- java大整數四則運算Java
- 漫畫:如何實現大整數相加?
- C++ 大整數類(BigInteger類)實現C++
- 整數排序排序
- 整數環
- 整數冪
- 整數拆分
- 輸入一個整數,返回這個整數的位數
- 數數的位數(正整數)
- 2034 整數的個數
- python整數和變數Python變數
- js小數轉整數JS
- 數值的整數次方
- Numpy 加法運算,opencv 加法運算,影像的融合OpenCV
- 整數溢位
- 求正整數
- 整數小拼接
- 翻轉整數
- 反轉整數
- 羅馬數字轉整數
- 加法小計算
- JavaScript + 加法運算子JavaScript
- JavaScript (+) 加法運算子JavaScript
- 整數二分
- 整數取模類