高精度正整數乘法問題

2021-07-13 17:57:45 字數 1175 閱讀 9789

給定任意兩個高精度正整數a、b,計算a與b的乘積。

輸入檔案中有若干行,每一行上有兩個用字串表示的正整數a,b。

輸入直到檔案結束。

對每個輸入行上的兩個正整數a,b,在一行上先輸出形式a*b=,接著輸出a與b的積。

12345 6788466

345 66

12345*6788466=83803612770

345*66=22770

#include 

#include

using

namespace

std;

int main()

len1 = str1.length();

len2 = str2.length();

len3 = len1 + len2;

for (int i = 0; i < len1; ++i)

for (int i = 0; i < len2; ++i)

if (flag)

cout

<< "*";

for (int i = len1-1; i >= 0; --i)

cout

<< "=";

} else

cout

<< "*";

for (int i = len2-1; i >= 0; --i)

cout

<< "=";

}memset(sum, 0, sizeof(sum));

temp = 0;

for (int i = 0; i < len3; ++i)

sum[i] = s % 10;

temp = s / 10;

// cout << temp << endl;

}else

}if (sum[len3-1] != 0)

cout

<< sum[len3-1];

for (int i = len3-2; i >= 0; --i)

cout

<< endl;

}return

0;}

自認為寫得並不好,乙個簡單的邏輯寫得卻很複雜,基本功不行啊!!!題目挺簡單,我是轉換成陣列儲存然後一位一位的求。

高精度正整數加法

使用的是模擬手算的方法 例如 123456 123412 3456 123 4 12 4690 我們手算時都是從最右邊開始豎著的那位相加的,依次向左重複豎著相加 s1長度長,s2短 這裡使用引用引數 是為了不要再生成s1,s2字串 void add string s1,string s2 if cn...

高精度正整數除法 大整數除法

標籤 空格分隔 演算法競賽 演算法 程式設計錯題 高精度 單詞 divident 被除數 divisor 除數 quotient 商大整數除法 openj bailian 2737 題目要求 求兩個大的正整數相除的商。input 第1行是被除數,第2行是除數。每個數均不超過100位。output 一...

高精度正整數除法 大整數除法

標籤 空格分隔 演算法競賽 演算法 程式設計錯題 高精度 單詞 divident 被除數 divisor 除數 quotient 商大整數除法 openj bailian 2737 題目要求 求兩個大的正整數相除的商。input 第1行是被除數,第2行是除數。每個數均不超過100位。output 一...