|
問題描述 本題目要求你在控制臺輸出一個由數(shù)字組成的等腰三角形。 1. 先用1,2,3,...的自然數(shù)拼一個足夠長的串 2. 用這個串填充三角形的三條邊。從上方頂點開始,逆時針填充。 比如,當(dāng)三角形高度是8時: 1 2 1 3 8 4 1 5 7 6 1 7 6 891011121314151 要求:空格一律用"."代替。 輸入格式: 一個正整數(shù)n(3<n<300),表示三角形的高度 輸出格式: 用數(shù)字填充的等腰三角形。 輸入樣例: 5 輸出樣例: ....1 ...2.1 ..3...2 .4.....1 567891011 輸入樣例: 10 輸出樣例: .........1 ........2.2 .......3...2 ......4.....2 .....5.......1 ....6.........2 ...7...........0 ..8.............2 .9...............9 1011121314151617181 解決方案 (1)確定三角形拼接的范圍:因為三角形是一個自然數(shù)拼接成的串,所以我們先確定不同層數(shù)對應(yīng)到的自然數(shù),觀察兩個案例(從上到左下到右再到上)可知:5層到13,10層到23(均未到最后一個自然數(shù)的最后一個值是因為第一層只有一個自然數(shù))。所以n層則會從1拼接到2n+3。 (2)每一行第一個數(shù)字前的空格數(shù):觀察題目給出的兩個輸出案例可以發(fā)現(xiàn)每一行第一個數(shù)前面的空格數(shù)為輸出三角形的高(n) - 第幾層。 (3)每一行的第一個數(shù)剛好和層數(shù)相等。 (4)第2到第n層兩個數(shù)之間的空格數(shù):從第二層開始所以有i-2,每一層增加兩個即(i-2)* 2,又因起始數(shù)量為1,所以規(guī)律是(i-2)* 2 – 1。 (5)第2到第n層第二個數(shù)的確定:因為從上到下的第二個數(shù)字是拼接的串的逆序且第一層只有一個數(shù)字,所以第n層的第二個數(shù)字為拼接串的倒數(shù)第n個數(shù)字。 (6)最后一層即為拼接串的第n個數(shù)到倒數(shù)第n個數(shù)。 解決代碼
運行實例 結(jié)語 本題的關(guān)鍵在于尋找三角形中存在的多個規(guī)律。 主編:歐洋 稿件來源:深度學(xué)習(xí)與文旅應(yīng)用實驗室(DLETA) |
|
|