2014華為面試題

2021-06-23 08:54:27 字數 644 閱讀 1454

描述:    輸入乙個正整數x,在下面的等式左邊的數字之間新增+號或者-號,使得等式成立。

1 2 3 4 5 6 7 8 9 = x

比如:12-34+5-67+89 = 5

1+23+4-5+6-7-8-9 = 5

樣例輸入:    5

樣例輸出:    21

請編寫程式,統計滿足該輸入整數的所有等式的個數。

思路:考慮每個間隔的三種可能,並對剩餘元素進行遞迴呼叫count函式,

firstnum:表示當前所計算元素的首個元素值(並不一定是numlist[0]); 

numlist:表示當前所剩餘元素集合,

x:表示當前利用剩餘元素集合生成的目標值(可正可負也可能為零); 

n:表示剩餘元素個數

int count(int firstnum,int numlist,int x,int n)

else

//對num中的元素進行組合,使得其結果 == x,對陣列中的首個元素和其之後的內容進行組合

}

測試**:

int result = count(1,numlist,5,9);

printf("%d\n", result);

華為面試題

1 區域性變數能否和全域性變數重名?答 能,區域性會遮蔽全域性。要用全域性變數,需要使用 區域性變數可以與全域性變數同名,在函式內引用這個變數時,會用到同名的區域性變數,而不會用到全域性變數。對於有些編譯器而言,在同乙個函式內可以定義多個同名的區域性變數,比如在兩個迴圈體內都定義乙個同名的區域性變數...

華為面試題

三 1 區域性變數能否和全域性變數重名?答案 能,區域性會遮蔽全域性。要用全域性變數,需要使用 區域性變數可以與全域性變數同名,在函式內引用這個變數時,會用到同名的區域性變數,而不會用到全域性變數。對於有些編譯器而言,在同乙個函式內可以定義多個同名的區域性變數,比如在兩個迴圈體內都定義乙個同名的區域...

華為面試題

華為面試題 q1 請你分別划划osi的七層網路結構圖,和tcp ip的五層結構圖?q2 請你詳細的解釋一下ip協議的定義,在哪個層上面,主要有什麼作用?tcp與udp呢?q3 請問交換機和路由器分別的實現原理是什麼?分別在哪個層次上面實現的?q4 請問c 的類和c裡面的struct有什麼區別?q5 ...