博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第九届蓝桥杯Java试题8--等腰三角形
阅读量:4170 次
发布时间:2019-05-26

本文共 966 字,大约阅读时间需要 3 分钟。

第九届蓝桥杯Java试题–等腰三角形

题目:

本题目要求你在控制台输出一个由数字组成的等腰三角形。
具体的步骤是:

  1. 先用1,2,3,…的自然数拼一个足够长的串
  2. 用这个串填充三角形的三条边。从上方顶点开始,逆时针填充。
    比如,当三角形高度是8时:

在这里插入图片描述

输入,一个正整数n(3<n<300),表示三角形的高度

输出,用数字填充的等腰三角形。

为了便于测评,我们要求空格一律用"."代替。

例如:

输入:
5

程序应该输出:

在这里插入图片描述

再例如:

输入:
10

程序应该输出:

在这里插入图片描述

再例如:

输入:
15

程序应该输出:

在这里插入图片描述
资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

不要使用package语句。不要使用jdk1.7及以上版本的特性。
主类的名字必须是:Main,否则按无效代码处理。

思路:

根据输入的n值,可以求出围成三角形共需多少个字符,从第1行到n-1需要的字符数为1+(n-2) * 2,再加上最后一行的2 * n-1得4 * n-4,所以我们需要一段字符串:1234…,长度为4 * n-4,根据该长度用循环拼接字符串,并要用substring()截取长度为i的字符串,因为在循环过程中,拼接的数字长度大于或等于2时,拼接的字符串长度可能刚好不为i,因此需要用substring()截取一次。获得该字符串后,然后就是输出,用循环对每一行输出。

代码:

import java.util.Scanner;public class 等腰三角形 {	public static void main(String[] args) {		Scanner in=new Scanner(System.in);		int n=in.nextInt();		int i=4*n-4;		String str="";		for(int j=1;j<=1000;j++) {			str+=String.valueOf(j);			if(str.length()>=i)				break;		}		str=str.substring(0, i);  //截取字符串				for(int j=0;j

转载地址:http://yzwai.baihongyu.com/

你可能感兴趣的文章
2018.5.55
查看>>
2018.5.58
查看>>
2018.12.5
查看>>
2018.12.6
查看>>
人智导(四):约束满足问题
查看>>
2018.12.7
查看>>
2018.12.8
查看>>
2018.12.9
查看>>
2018.12.29
查看>>
2018.12.31
查看>>
2019.1.2
查看>>
2019.1.4
查看>>
2019.1.9
查看>>
2019.1.12
查看>>
Java语言程序设计与数据结构》编程练习答案(第二十章)(二)
查看>>
2019.2.25
查看>>
2019.2.26
查看>>
2019.2.27
查看>>
2019.2.28
查看>>
2019.2.29
查看>>