今年的藍橋杯中我遇到了一道題是關於數字金字塔的,那時候在比賽時可能是各方面的因素有思路但是沒有實現,直到今天回過頭來看,其實只要思路正確了題目就會迎刃而解了,其實數字金字塔的的解題思路就是把金字塔分成兩個直角三角形
如下所示:
1
12 1
123 21
1234 321
12345 4321
123456 54321
左邊的是6行的直角三角形,他的規律就是每行的最大數就等於行數,那麼用**實現就是:
for(int i=1;i<=6;i++)}
右邊的是5行的直角三角形,他的規律就是每行輸出的數從左到右逆序輸出就是大的在前小的在後,而且最大的數比行數小1,第一行不輸出,那我們用**實現就是:
for(int j=i-1;j>=1;j--)
大體思路就這樣實現了,那麼把**整合下,我們的題目也就解出來了,如下所示:
public class angle
//列印數字,左邊的三角形
for(int j=1;j<=i;j++)
//後面數字的規律
for(int j=i-1;j>=1;j--)
system.out.println(); //換行
} }}
輸出如下所示:
1
12112321
1234321
123454321
12345654321
總結了一下,寫**其實就是思路有了,那麼寫**就會迎刃而解,沒有思想的擼**就是流氓。不管是用什麼程式語言,拿到題目先要分析思路,找出最快的解決方法,那麼解題就會很快的了,千萬不要拿到題邊擼**邊想題目,那樣耗時又不討好。 字母金字塔(類同數字金字塔)
問題描述 讓程式要求使用者輸入乙個大寫字母,使用巢狀迴圈產生像下面這樣的金字塔圖案 aaba abcba abcdba abcdecba 演算法分析 每行包括三個部分內容 若干個空格 正序排列的字母 倒序排列的字幕。使用乙個外部迴圈來處理行,在每乙個行中使用三個內部迴圈 乙個處理空格,乙個以公升序列...
數字金字塔
觀察下面的數字金字塔。寫乙個程式來查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。7 3 8 8 1 0 2 7 4 4 4 5 2 6 5在上面的樣例中,從7 到 3 到 8 到 7 到 5 的路徑產生了最大 多組輸入資料 第乙個行包含 r...
數字金字塔
題目 題目描述 觀察下面的數字金字塔。寫乙個程式來查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的樣例中,從7 到 3 到 8 到 7 到 5 的路徑產生了最大 輸入輸出格式...