3880 - 4.19 打印金字塔形的数字

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

输入一个1-11之间的整数,输出一个金字塔形的杨辉三角形。

题目输入

输入一个1-11之间的整数n


题目输出

输出一个n行的金字塔形的杨辉三角形。每个数字占4位

输入/输出样例

输入格式

8

输出格式

                               1
                           1   2   1
                       1   2   4   2   1
                   1   2   4   8   4   2   1
               1   2   4   8  16   8   4   2   1
           1   2   4   8  16  32  16   8   4   2   1
       1   2   4   8  16  32  64  32  16   8   4   2   1
   1   2   4   8  16  32  64 128  64  32  16   8   4   2   1

Java解答

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner n = new Scanner(System.in);
		int a = n.nextInt();
		int i = 1, k = 0, y = 1;
		while (i <= a) {
			k = (a - i) * 4;
			while (k > 0) {
				System.out.print(" ");
				k--;
			}
			int z = 1;
			while (z <= y) {
				System.out.printf("%4d", z);
				z = z * 2;
			}
			z = z / 4;
			while (z >= 1) {
				System.out.printf("%4d", z);
				z = z / 2;
			}
			i++;
			y = y * 2;
			System.out.print("\n");
		}
	}
}