题解 | #圣诞树#

圣诞树

https://www.nowcoder.com/practice/9a03096ed8ab449e9b10b0466de29eb2

import java.util.Scanner;
public class Chkis {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt(); //输入树的大小
		Three.function(n);	
	}
}

class Three{
  public static void f(int m) {//封装输出空格的方法
	  for(int j=0;j<=m;j++) 
		  System.out.printf(" ");
  }

  public static void function(int n) {	
	  int s=n;
	  int tab=3*s-1; //首行第一个*的空格数,其余行为tab--
	  int temp=3;    //中间每个三角形之间的空格数

	  for(int m=1;m<=n;m++) {//【外循环:三角形行数】 (以完整三角形为一行 即三行为一行)
		  temp=3;
		  for(int i=1;i<=3;i++) {//【内循环:每个三角形分三行】
			  f(tab);
			  tab--;
			  for(int k=0;k<m;k++) {//【单行上三角形数】一行有几个三角形 由外循环计数器m确定 第m行有m个
				  for(int j=0;j<i;j++) {//【单行上星星数】 i:三角形的第几行 输出时第1行则*  第2行** 
					  System.out.printf("* ");}
				  f(temp);}//行内每个三角形间空格
			  temp-=2;//每两行三角形间空格数差2
			  System.out.println("");//输出一行后 再换行
		  }
	  }

	  int t=3*n;//树干
	  for(int i=0;i<n;i++) {
		  f(t-1);
		  System.out.println("*");}
	  }	
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 11:47
点赞 评论 收藏
分享
05-22 12:44
已编辑
门头沟学院 golang
点赞 评论 收藏
分享
就在我现在公司的隔壁每天经过都唏嘘不已(就是羡慕)什么时候可以到这里上班啊
柯基在debug:从大学毕业投简历到现在了,应届的时候我都面到终面了,现在工作四年了连简历初筛都过不了了
投递莉莉丝游戏等公司8个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务