乙個類似「火柴棍」問題的面試題

2021-08-27 15:04:29 字數 525 閱讀 3167

今天老師讓做一道面試題,通過這個面試題,我感受到自己的c語言基本功還不紮實,思維還不夠發散。

小時候,大家可能都玩過「火柴棍」的遊戲,就是擺好的火柴棍,只改變一根就可以變為其他的形狀或數字。

好了,先看看題目:

int n = 20;

for(int i = 0; i < n; i--)

printf("-");

將以上c語言編寫的程式,修改或新增或刪除乙個字元,使得最終輸出20個「-」。

我第一次看到這個題之後,覺得這個題是不是有問題,也許也會有很多人和我有相同的想法,但題沒有問題。

我思考之後,想到了一種方法,這也是第一種方法,

(1)第一種方法:

在i < n前加乙個 負號,即 -i < n;

(2) 第二種:

將i-- 中的i改為 n,即 n--;

(3) 第三種方法:

將 i < n中的 "<" 改為 "+",即 i + n;

這種方法可能很難想到,你必須清楚一點,c語言中的判斷真假中,假為0,真為非0.

火柴棍移動的一道面試題

最近有朋友找工作,面試某公司,遇到乙個火柴棍移動的面試題,感覺有點意思,在此拋磚引玉。題目大致是這樣的 乙個三個數的式子,移動其中一根火柴,使等式成立,用程式或實現 可以用偽碼 輸出能成立的等式。注 可以移走一根火柴變成 例如 廢話不說,直接上 哪位有更好的方法,請分享一下,多謝 include 定...

乙個面試題

題目是 假設乙個 搜尋引擎收錄了2 24首歌曲,並記錄了可收聽這些歌曲的2 30條url,但每首歌的url不超過2 10個。系統會定期檢查這些url,如果乙個url不可用則不出現在搜尋結果中。現在歌曲名和url分別通過整型的song id和url id唯一確定。對該系統有如下需求 1 通過song ...

乙個面試題

在不超過最右邊的數量的情況下任意組合,要求加起來不超過20280這個數字,但達成最接近的情況,現有一種方法為 1290 4 2990 5,差170,有沒有更接近20280的答案 資料如下 4900 13790 22990 5 意思是不能超過5次,但可以使用1次,2次,3次,4次,5次。2390 31...