zoukankan      html  css  js  c++  java
  • Java实现第九届蓝桥杯等腰三角形

    等腰三角形
    题目描述
    本题目要求你在控制台输出一个由数字组成的等腰三角形。
    具体的步骤是:
    1. 先用1,2,3,...的自然数拼一个足够长的串
    2. 用这个串填充三角形的三条边。从上方顶点开始,逆时针填充。
    比如,当三角形高度是8时:
    
           1
          2 1
         3   8
        4     1
       5       7
      6         1
     7           6
    891011121314151
    
    显示不正确时,参看:p1.png
    
    输入,一个正整数n(3<n<300),表示三角形的高度
    输出,用数字填充的等腰三角形。
    
    为了便于测评,我们要求空格一律用"."代替。
    
    例如:
    输入:
    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
    
    再例如:
    输入:
    15
    
    程序应该输出:
    
    ..............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
    
    
    资源约定:
    峰值内存消耗(含虚拟机) < 256M
    CPU消耗  < 1000ms
    
    
    请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
    
    所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
    不要使用package语句。不要使用jdk1.7及以上版本的特性。
    主类的名字必须是:Main,否则按无效代码处理。
    
    

    在这里插入图片描述

    package Lqb;
    
    public class Text34 {
    	public static void main(String[] args) {
    		int n=50;				//行数
    		int count=4*(n-1);	//需要总字符数
    		String str="";			//存放用于搭建的数字字符串
    		for(int i=1;i<9999;i++){	//将 所需要的数字字符放入字符串
    			if(str.length()>count) break;
    			else str+=i;
    		}
    		//System.out.println(str);
    		int k=0;	//字符串索引
    		for(int i=0;i<n;i++){		//开始打印
    			for(int j=0;j<n+i;j++){
    				if(i==n-1){			//最后一行
    					 System.out.print(str.substring(k,count-i+1));
    					 break;
    				}
    				else if(j==n-i-1) System.out.print(str.charAt(k++));
    				else if(j==n-1+i) System.out.print(str.charAt(count-i));
    				else System.out.print(" .");
    			}
    			System.out.println();
    		}
    	}
    }
    
    
  • 相关阅读:
    BZOJ1527 : [POI2005]Pun-point
    2016-2017 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2016)
    2016-2017 ACM-ICPC Northwestern European Regional Programming Contest (NWERC 2016)
    NAIPC-2016
    BZOJ2498 : Xavier is Learning to Count
    ACM ICPC Vietnam National Second Round
    XVI Open Cup named after E.V. Pankratiev. GP of Ukraine
    XVI Open Cup named after E.V. Pankratiev. GP of Peterhof
    HDU5509 : Pattern String
    BZOJ4583 : 购物
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12947770.html
Copyright © 2011-2022 走看看