2018蓝桥杯省赛---java---C---8(等腰三角形)
生活随笔
收集整理的這篇文章主要介紹了
2018蓝桥杯省赛---java---C---8(等腰三角形)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
問題描述本題目要求你在控制臺輸出一個由數字組成的等腰三角形。 具體的步驟是:先用1,2,3,…的自然數拼一個足夠長的串 用這個串填充三角形的三條邊。從上方頂點開始,逆時針填充。 比如,當三角形高度是8時:12 13 84 15 76 17 6 891011121314151 1 2 3 4 5 6 7 8 顯示不正確時,參看:p1.png資源約定峰值內存消耗(含虛擬機) < 256M CPU消耗 < 1000ms輸入格式一個正整數n(3<n<300),表示三角形的高度 為了便于測評,我們要求空格一律用"."代替。輸出格式用數字填充的等腰三角形。測試樣例1Input: 5Output: ....1 ...2.1 ..3...2 .4.....1 567891011 1 2 3 4 5 6 7 8 9 測試樣例2Input: 10Output: .........1 ........2.2 .......3...2 ......4.....2 .....5.......1 ....6.........2 ...7...........0 ..8.............2 .9...............9 1011121314151617181 1 2 3 4 5 6 7 8 9 10 11 12 13 14 測試樣例3Input: 15Output: ..............1 .............2.3 ............3...2 ...........4.....3 ..........5.......1 .........6.........3 ........7...........0 .......8.............3 ......9...............9 .....1.................2 ....0...................8 ...1.....................2 ..1.......................7 .1.........................2 21314151617181920212223242526思路分析
找規律
代碼實現
package TEST;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();//計算等腰三角形總共需要多少數字int sum=4*n-4;//int sum = 1 + (n - 1) * 2 + (2 * n - 3);String str="";for (int i = 1; str.length() < sum; i++) {str=str+String.valueOf(i);}char[] ch = str.substring(0, sum).toCharArray();//打印第一行for (int i = 0; i < n-1; i++) {System.out.print(".");}System.out.println(1);//打印2到n-1行for (int i = 1; i < n-1; i++) {for (int j = 0; j < n-i-1; j++) {System.out.print(".");}System.out.print(ch[i]);for (int j = 0; j < i*2-1; j++) {System.out.print(".");}System.out.println(ch[sum-i]);}//打印最后一行4*n-4-(n-2)=3*n-2for (int i = n-1; i < 3*n-2; i++) {System.out.print(ch[i]);}}}總結
以上是生活随笔為你收集整理的2018蓝桥杯省赛---java---C---8(等腰三角形)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FastComet vs.Digital
- 下一篇: 玩倩女幽魂游戏电脑需要什么配置?