阿里巴巴一道筆試題

2021-09-08 09:44:22 字數 736 閱讀 7456

其實這是谷歌的一道面試題::給定能隨機生成整數1到5的函式,寫出能隨機生成整數1到7的函式

慚愧,阿里的筆試題做錯了,說實話,以前沒見過,見過了就把搞懂

阿里題目:

給定rand_7()表示能生成1-7的隨機數,使用四則運算和迴圈等控制語句,可以輸出的有()

a.rand_3()   b.rand_21()    c.rand_23()   d.rand_47()

這個題目怎麼做呢?我看了一道題目的答案,找到了乙個規律,可以一般性的解決這個問題:

谷歌的那道面試題這樣解決:

#include #include #include int rand_5()

void main()

while(rand>12);

printf("%d\t",(rand-5)/1);

}

putchar('\n');

}

我們提煉乙個一般性的規律,rand_5()*5+rand_5()是為了生成一系列連續的數,就是 int rand = rand_n()*n+rand() 

然後要求的是1-m的隨機數,那麼可以這樣

dorand = 

rand_n()*n+rand() ;

}while(rand>n+m);

(rand-n)/1就是所要求的數,就這麼簡單,給定乙個隨機數的範圍,去求另乙個隨機數的範圍,阿里的那道題應該是都能選的,我做錯了

一道阿里巴巴筆試題

今天看了阿里的一道筆試題 如下函式,在32bit 系統foo 2 31 3 的值是 int foo int x a 0 b 1 c 2 d 4 也沒想那麼多,覺得需要借助計算機程式設計才能得到答案!事實上呢,看看下面的程式和結果,你就明白了!cpp view plain copy include i...

阿里巴巴的一道筆試題

分布式系統中的rpc請求經常出現亂序的情況。寫乙個演算法來將乙個亂序的序列報序輸出,列如,假設起始序號是1,對於 1,2,5,8,10,4,3,6,9,7 這個序列,輸出是 3,4,5 7,8,9,10 上述例子中,3到來的時候發現4,5已經在了,因此將已經滿足順序的整個序列 3,4,5 輸出為一行...

阿里巴巴筆試題

1 有乙個虛擬儲存系統,若程序在記憶體中佔3頁 開始時記憶體為空 若採用先進先出 fifo 頁面淘汰演算法,當執行如下訪問頁號序列後1,2,3,4,5,1,2,5,1,2,3,4,5,會發生多少缺頁?a 7 b 8 c 9d 10 2 設有乙個順序棧s,元素s1 s2 s3 s4 s5 s6依次進棧...