c 練習4 google面試題

2021-06-01 18:51:35 字數 557 閱讀 9081

谷歌面試題:1024! 末尾有多少個0?

思路:末尾0的個數取決於乘法中因子2和5的個數。顯然乘法中因子2的個數大於5的個數,所以我們只需統計因子5的個數。

是5的倍數的數有: 1024 / 5 = 204個

是25的倍數的數有:1024 / 25 = 40個

是125的倍數的數有:1024 / 125 = 8個

是625的倍數的數有:1024 / 625 = 1個

所以1024! 中總共有204+40+8+1=253個因子5。

也就是說1024! 末尾有253個0。

下面是筆者的程式設計實現

#include

using namespace std;

int fivenum(int n)

int ans=0;

while(n)

n=n/5;

ans=ans+n;

return ans;

int main()

int i = 1024;

int count = fivenum(i);

coutreturn 0;

Google 的面試題

一輛學校班車裡面能裝多少個高爾夫球?你被縮小到只有硬幣厚度那麼點高 不是壓扁,是按比例縮小 然後被扔到乙個空的玻璃攪拌器中,攪拌刀片一分鐘後就開始轉動。你怎麼辦?要是讓你清洗整個西雅圖的所有窗子,你會收取多少費用?怎麼才能識別出電腦的記憶體堆疊是向上溢位還是向下溢位?你要向你8歲的侄子解釋什麼是資料...

Google面試題(六)

題目 對現在的stack 棧 資料結構進行改進,加乙個min 功能,使之能在常數,即o 1 時間內給出棧中的最小值。可對push 和pop 函式進行修改,但要求其時間複雜度都只能是o 1 分析 要使pop,push,min都是o 1 所以肯定要犧牲點空間 思路 1 在stack的資料結構中加兩個個字...

google雜湊面試題

題目 在乙個字串中找到第乙個只出現一次的字元。如輸入abaccdeff,則輸出b。用雜湊表解題 分析 這道題是2006年google的一道筆試題。解 由於字元 char 是乙個長度為8的資料型別,因此總共有可能256 種可能。於是我們建立乙個長度為256的陣列,每個字母根據其ascii碼值作為陣列的...