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

2019-12-27 153次浏览 已收录 6个评论

标题:等腰三角形

本题目要求你在控制台输出一个由数字组成的等腰三角形。
具体的步骤是:
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 nine;
import java.util.*;
public class dysjx {
public static void main(String[] args) {
Scanner shu = new Scanner(System.in);
int a=shu.nextInt();
 //低=9 高=5		周=16
int b=a+a*2-1+a-2-1;
String str="";
for (int i=1;str.length()<b;i++){
 str+=String.valueOf(i);
}
char[] zu=str.substring(0, b).toCharArray();
for(int i=0;i<a-1;i++)
 System.out.print(".");
System.out.println("1");
for(int i=1;i<a-1;i++) {
 for(int j=0;j<a-i-1;j++) {
  System.out.print(".");
 }
 System.out.print(zu[i]);
 for(int k=0;k<2*i-1;k++)
  System.out.print(".");
 System.out.print(zu[b-i]);
 System.out.println();
}
for(int i=0,count =4;i<2*a-1;i++,count++) {
 System.out.print(zu[count]);
}
}
}

渣渣龙, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:标题:等腰三角形 本题目要求你在控制台输出一个由数字组成的等腰三角形。
喜欢 (0)

您必须 登录 才能发表评论!

(6)个小伙伴在吐槽
  1. 不错
    笨鸟先飞2020-03-27 14:20
  2. 我给你点赞了
    hello2020-03-28 16:45
  3. 以后多多交流
    奋斗2020-03-28 17:36
  4. 奥利给
    中国加油小子2020-05-26 09:11
  5. 给你点赞
    渣渣混2020-05-26 09:38
  6. 以后多发点哦
    渣渣混2020-05-26 10:23