分析:
大數能大到整形型別儲存不了。須要借助於其它的演算法,來完畢乘法運算。
能夠使用口算乘法的步驟來模擬乘法操作。例如以下:
123* 122
=3 4 6
+ 3 4 6
+ 1 2 3
= 1 5 0 0 6
實現例如以下:
#include#includeusing namespace std;
char* mutibigernum(char* a, char* b)
res[i+j+1] = temp%10 + '0';
} res[i] = carry + '0';
} return res;
}int main(int argn, char** ar**)
char* resnum = mutibigernum(a, b);
if(strlen(resnum) > 0 && resnum[0] == '0')
cout << a << "*" << b << "=" << resnum + 1 << endl;
else
cout << a << "*" << b << "=" << resnum << endl;
return 0;
}
執行結果例如以下:
./test
122*123=15006
./test 999 888
999*888=887112
大資料演算法面試題
本文參考並對部分內容進行了整理 1 給定 a b 兩個檔案,各存放 50 億個 url,每個 url 各佔 64 位元組,記憶體限制是 4g,讓你找出 a b 檔案共同的 url?1 可以估計每個檔案安的大小為 50g 64 320g,遠遠大於記憶體限制的 4g。所以不可能將其完全載入到記憶體中處理...
面試題49 醜數
題意 把只包含質因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含質因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。思路 暴力每個數,判斷是不是醜數,直到找到第n個醜數。這個有點慢,不考慮 不能暴力所有數,我們考慮暴力醜數。假設陣列...
面試題49 醜數
一 暴力法 從1開始對每乙個數進行判斷,是否可以連除2,3,5得到1,效率比較低 class solution return number bool isugly int n 二 以空間換取時間的做法 思路 把每乙個醜數都列出來。醜數肯定是2,3,5的倍數,所以每乙個位置都可以乘2,3,5,找到比目...