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

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

标题:等腰三角形

本题目要求你在控制台输出一个由数字组成的等腰三角形。
具体的步骤是:
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]);
}
}
}
分享到:
赞(0) 打赏

评论 6

评论前必须登录!

 

  1. #1

    不错

    笨鸟先飞8个月前 (03-27)
  2. #2

    我给你点赞了

    hello8个月前 (03-28)
  3. #3

    以后多多交流

    奋斗8个月前 (03-28)
  4. #4

    奥利给

    中国加油小子6个月前 (05-26)
  5. #5

    给你点赞

    渣渣混6个月前 (05-26)
  6. #6

    以后多发点哦

    渣渣混6个月前 (05-26)

觉得文章有用就打赏一下弟弟吧

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.5主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
正在播放:

作者想对您说:

累了就停下来听首歌吧

听完后会给您一个好心情

最后

等到您不容易

还希望您能多待一会儿

      00:00/00:00