【藍(lán)橋杯學(xué)習(xí)記錄】蛇形填數(shù)
一、題目
如下圖所示,小明用從?1 開始的正整數(shù)“蛇形”填充無限大的矩陣。請你計(jì)算矩陣中第?20 行第?20 列的數(shù)是多少?

二、解題思路
?填空題,而且數(shù)比較小,直接用暴力方法。我們設(shè)行為i,列為j,行和列都從1開始。我們從(1,1)開始,觀察后發(fā)現(xiàn),在i-1超出邊界值1時,i=1,且下次開始i開始++。j同理,超出邊界之后j=1,且下次j++。同時我們發(fā)現(xiàn),行數(shù)由減變加之后,列由加到減,列同理。
所以我們設(shè)置兩個falg:flag_i,flag_j(1為加,0為減),初始i=1,j=1。i先減,j先加,但是這時i-1=0,所以下次還是i=1,而此時j=2,此時值為2,且下次j-1,i+1......
具體代碼如下:
三、完整代碼
四、出現(xiàn)問題
開始while循環(huán)條件因?yàn)槭莍=j=20,所以我相當(dāng)然寫的是i!=20 && j!=20。但其實(shí)不對,在其中一個出現(xiàn)20的時候,判斷就是假,循環(huán)就會停止,所以應(yīng)該是用或運(yùn)算

標(biāo)簽:學(xué)習(xí)記錄藍(lán)橋杯