赞
踩
说是带点栈的思想?不太清楚(
import java.util.Scanner; import java.util.*; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int num = input.nextInt(); String ch = input.next(); int i = 1, sum = 1, k = 0, cnt = 0; int [] arr = new int[100]; while(sum <= num){ arr[k++] = i; i += 2; sum += i*2; cnt++; } cnt--; //cnt == 2 sum = 0; for (int f = 0; f <= cnt; f++){ sum += arr[f]*2; } sum--; int lines = (arr[cnt] + 1)/2; //循环行数 // System.out.println(lines); int temp = cnt; for (int j = 0; j < lines; j++){ int temp2 = j; while(temp2 != 0){ System.out.print(' '); temp2--; } for (int h = 0; h < arr[temp]; h++){ System.out.print(ch); } if (temp == 0){ break; } temp--; System.out.println(); } if (lines != 1){ System.out.println(); } lines = lines - 1; //下层行数比上层少一 temp = 1; for (int q = lines - 1; q >= 0; q--){ int temp3 = q; while(temp3 != 0){ System.out.print(' '); temp3--; } for (int w = 0; w < arr[temp]; w++){ System.out.print(ch); } temp++; if (temp > cnt){ break; } System.out.println(); } System.out.println(); System.out.println(num-sum); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。