先把好的部落格貼上 **明天再說。。。
#include#include#includeusing namespace std;
//string型別轉換成int型別
long string_to_num(string str)
//整形數轉換為string型別
string num_to_string(int intvalue)
//在字串str前新增s個零
string stringbeforezero(string str,int s)
if (0 != flag) //最後一為(最高位)判斷,如果有進製則再添一位
result.insert(0,num_to_string(flag));
return result;}
//兩個大整數字串相減,
string stringsubtractstring(string str1,string str2)
str1[prepos]-=1;
}result.insert(0,num_to_string(c));//在result字串最前端插入新生成的單個字元
}return result;}
//分治法大整數乘法實現函式
string intmult(string x,string y)//遞迴函式
}else//第二個數長度大於第乙個數長度的情況}}
if ( x.size() == 1) //資料長度為1時,在前面補乙個0(這裡之所以會出現長度為1的資料是因為前面對資料修剪過)
x=stringbeforezero(x,1);
if (y.size() == 1) //資料長度為1時,在前面補乙個0(這裡之所以會出現長度為1的資料是因為前面對資料修剪過)
y=stringbeforezero(y,1);
if (x.size() > y.size()) //最後一次對資料校正,確保兩個資料長度統一
y = stringbeforezero(y,x.size()-y.size());
if (x.size() < y.size()) //最後一次對資料校正,確保兩個資料長度統一
x = stringbeforezero(x,y.size()-x.size());
int s = x.size();
string a1,a0,b1,b0;
if( s > 1)
string result;
if( s == 2) //長度為2時代表著遞迴的結束條件
else
return result; }
int main()
cout<<"兩數相乘結果為:"<
大整數相乘
一 乘數和被乘數為long型別的 public class bignumberchenglong int pi1 new int getlength p1 int pi2 new int getlength p2 將乘數和被乘數存入陣列中 long temp p1 int num 0 int i 0...
大整數相乘
這是一道經典的上機題目 include include include define n 100 n代表乘數的位數,根據具體應用,想設多大設多大。function 大整數相乘演算法 引數 a 乘數 b 乘數 n a的長度 m b的長度 沒有返回值,結果直接放到全域性變數res陣列中,如果不想要全域性...
大整數相乘
處理大整數相乘的辦法很多,我這裡貼一種最簡單實現,通過字元陣列去接收和輸入大整數。題目要求如下 如下 2015.9.15 華為.cpp 定義控制台應用程式的入口點。include stdafx.h include include define maxlength 1024 define m 100 ...