題目來源於筆試後的回憶,如有不真的地方敬請指正!
填空:
1.求1024!末尾有多少個0.
解:
10=2*5
1024!尾0數即5的個數。
1024/5+1024/25+1024/625即爲解。
2.某高速公路上30分鐘內看到車的概率爲0.9,求在10分鐘內看到車的概率。
解:
假設10分鐘內看到車的概率爲A,則30分鐘看到車的概率爲:
A+(1-A)*A+(1-A)^2*A=0.9
化簡即:A^3-3*A^2+3*A=0.9
即:(A-1)^3=0.9-1=-0.1
則A=1-10^(-1/3)
3.給定一個3叉樹,定義前序遍歷(父,左,中,右),中A序遍歷(左,父,中,右),中B序遍歷(左,中,父,右),後序遍歷(左,中,右,父)。
給定前序,中A序,中B序,求其後序遍歷。
基本照搬2叉樹即可解。
4.
給定:
char s1[] = "abc" ;
char s2[] = "abc" ;
const char s3[] = "abc" ;
const char s4[] = "abc" ;
const char *s5 = "abc" ;
const char *s6 = "abc" ;
s1 == s2 返回什麼?false
s3 == s4 返回什麼?false
s5 == s6 返回什麼?true
5.
求ABCDEF,A-F爲0-9不同的數字,求滿足一下條件的數字:
ABCDEF *2 = CDEFAB
CDEFAB * 2 = EFABCD
解:
和小學競賽題很像,如果用程序很好算。
猜測一下可知:ABCDEF=142857
簡答題:
1.給定Input字符串,輸入按照順序進入一個棧,但是出棧的順序是隨機的,問某個output是否合法。
解:
一個基本的棧操作,不解釋。
2.一個序列{A,B,C,D,……,Z,AA,AB,……,AZ,……,AAA...}
求該序列第n個字符串是什麼?
解:
先求第n個字符串的長度。
在取26進制即可。
3.一個計算機提供如下計算:
①:賦值運算(a=1,b=a)
②:自增運算+1。
③:循環運算,有for(a) b++; for循環內部只能是一個固定的數K,即將b++執行k次。
④:該計算機數據範圍0和正整數
⑤:該計算機沒有溢出。
現在讓你模擬出加減乘除運算。
ps:沒有比較(a是否等於b)運算,不知如何實現減法。。
加法和乘法很簡單,乘法需要用嵌套的for循環。