資料結構與演算法——兩個大整數的乘積問題
2016年騰訊實習線上筆試題目:大整數乘法
輸入資料有兩行,分別是兩個非負整數,最多1000位,輸出它們的乘積。
示例:
輸入:
213897129837128937123
43502789523572345
輸出:
9305121819000846375051201723846663435
/*************************************************************************
> File Name: string_big_num.cpp
> Author:
> Mail:
> Created Time: 2016年03月25日 星期五 22時32分13秒
************************************************************************/
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int result[2048] = {0};
int main()
{
string num1;
string num2;
cin >> num1;
cin >> num2;
int n = 0;
int val;
reverse(num1.begin(), num1.end());
reverse(num2.begin(), num2.end());
for(int i = 0; i < num1.size(); ++i){
int add_flag = 0;
int muliti_flag = 0;
for(int j = 0; j < num2.size(); ++j){
val = (num1[i]-48) * (num2[j]-48) + muliti_flag;
muliti_flag = val / 10;
val = val % 10;
int temp = result[i+j] + val + add_flag;
add_flag = temp / 10;
result[i+j] = temp % 10;
}
result[i+num2.size()] += muliti_flag + add_flag;
}
//下面是將結果反轉
int first = 0;
int last = num1.size() + num2.size() - 2;
int num = 0;
while(first < last){
num = result[first];
result[first] = result[last];
result[last] = num;
first++;
last--;
}
//輸出result中的內容
for(int i = 0; i < num1.size() + num2.size() - 1; ++i)
cout << result[i];
cout << endl;
return 0;
}
測試結果:
相關文章
- C----判斷兩個整數乘積幾進位制
- [演算法] 兩個質數的乘積是707829217,求解該質數演算法
- 資料結構與演算法---螺旋矩陣、整數反轉資料結構演算法矩陣
- 資料結構與演算法碎片積累(二)資料結構演算法
- Java資料結構與演算法面試題-兩數之和 作者:哇塞大嘴好帥Java資料結構演算法面試題
- 資料結構與演算法系列(二):關於陣列,我想探討兩個問題資料結構演算法陣列
- 【資料結構與演算法】揹包問題總結梳理資料結構演算法
- Redis資料結構—整數集合與壓縮列表Redis資料結構
- “大整數階乖”問題的遞推演算法演算法
- 好題——數學與資料結構資料結構
- 求救。我編的一個整數階乘的程式出問題了。急!
- 資料結構與演算法之硬幣組合問題資料結構演算法
- 資料結構與演算法——0-1揹包問題資料結構演算法
- 資料結構與演算法——迭代開啟url問題(連結串列)資料結構演算法
- 資料結構與演算法常見問題(面試題)不定時更新資料結構演算法面試題
- Redis資料結構之整數集合Redis資料結構
- 資料結構與演算法入門題資料結構演算法
- 兩個資料訪問受限的問題
- 資料結構與演算法-資料結構(棧)資料結構演算法
- 演算法題:乘積最大子序列演算法
- 計算位數最高達300位的兩個非負整數的乘積,C語言程式設計實現C語言程式設計
- 用Python解決資料結構與演算法問題(三):線性資料結構之棧Python資料結構演算法
- 大資料日知錄 02 大資料常用演算法與資料結構大資料演算法資料結構
- 資料結構和演算法面試題系列—數字題總結資料結構演算法面試題
- 資料結構與演算法——十個排序演算法資料結構演算法排序
- 基礎面試題 — 資料結構與演算法面試題資料結構演算法
- 資料結構與演算法面試題80道資料結構演算法面試題
- 資料結構與演算法——排序演算法-基數排序資料結構演算法排序
- 資料結構演算法題資料結構演算法
- 資料結構與演算法資料結構演算法
- 資料結構:初識(資料結構、演算法與演算法分析)資料結構演算法
- 資料結構和演算法面試題系列—揹包問題總結資料結構演算法面試題
- 資料結構與演算法:圖形結構資料結構演算法
- 演算法與資料結構1800題演算法資料結構
- leetcode演算法資料結構題解---資料結構LeetCode演算法資料結構
- 華為機試題(9)--將兩個數從字串轉為數,將這兩個數做乘積後再轉化為字串儲存起來字串
- 【JavaScript 演算法與資料結構】JavaScript演算法資料結構
- 資料結構與演算法03資料結構演算法