打印杨辉三角形

import java.util.Scanner;

public class Yanghui {

	public static void main(String[] args) {
		System.out.print("请输入你要打印的杨辉三角的层数:");
		Scanner sc = new Scanner(System.in);
		sc.close();
		int height =sc.nextInt();	//杨辉三角的高度(层数)

		int row = 2*height-1;
	    int[ ][ ] yh = new int[height][row];
	    int j=0;

	    int temp_row=row-1;
		for(int i=height-1;i>=0;i--)
		{
			yh[i][j++]=1;						//将左面一斜排的值全设为1

			yh[i][temp_row--]=1;			//将右面一斜排的值全设为1
		}

		for(int i=2;i<height;i++)
		{
			for(j=height-1-i+2;j<row-2;j+=2)		//对某一行而言,得到除首尾为1之外的其他值
			{
					yh[i][j]=yh[i-1][j-1]+yh[i-1][j+1];
			}

		}

		for(int m=0;m<height;m++)
		{
			for(int n=0;n<row;n++)
			{
				if(yh[m][n]==0)
					System.out.print(" ");
				else
					System.out.print(yh[m][n]);
			}
			System.out.println();
		}

	}

}

时间: 12-12

打印杨辉三角形的相关文章

打印杨辉三角形的前10行。

打印杨辉三角形的前10行.杨辉三角形如下图: 1                      1 1   1                   1  1 1   2   1                1  2  1 1   3   3   1             1  3  3  1 1   4   6   4   1           1  4  6  4  1 [图5-1]                  [图5-2] [问题分析]观察图5-1,大家不容易找到规律,但是如果将它转

java实现打印杨辉三角形(帕斯卡三角形),打印10行

/**  * 打印杨辉三角形(帕斯卡三角形),打印10行  *  */ public class Yanghuisanjiao {     public static void main(String[] args) {         int [][] a = new int[11][11];         for (int i = 0 ; i < 10 ; i++) {             a[i][0] = 1;             a[i][i] = 1;         }

打印杨辉三角形(Pascal&#39;s triangle)——利用队列

打印杨辉三角形(Pascal's triangle)--利用队列 1. 杨辉三角的概念 杨辉三角,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列. 将二项式(a+b)i展开,其系数构成杨辉三角形(国外称Pascal's triangle),按行将展开式系数的前n行打印出来.从三角形的形状可知,除第1行以外,在打印第i行时,用到上一行(第i-1行)的数据,在打印第i+1行时,又用到第i行的数据. 注:在欧洲,这个表叫做帕斯卡三角形.帕斯卡(1623--1662)是在1654年发

打印杨辉三角形(0966)

p { margin-bottom: 0.25cm; line-height: 120% } 描述 杨辉三角形具有如下特征: 1.每行数字左右对称,由1开始逐渐变大,然后变小,回到1. 2.第n行的数字个数为n个. 3.第n行数字和为2^(n-1). 4.每个数字等于上一行的左右两个数字之和.可用此性质写出整个帕斯卡三角形. 5.将第2n+1行第1个数,跟第2n+2行第3个数.第2n+3行第5个数--连成一线,这些数的和是第2n个斐波那契数.将第2n行第2个数,跟第2n+1行第4个数.第2n+2

c++ 打印打印杨辉三角形

/**************************************** 打印杨辉三角 date: 2016-10-15 writer: liu kun reference: 数据结构 殷人昆 *****************************************/ #include <iostream> #include<iomanip> #include "queue.h" using namespace std; //控制数字间隔 c

C语言:在屏幕上打印杨辉三角形

#include <stdio.h> #define num 10 int main() {     int i;     int j;     int a[num][num];     for (i = 0; i < N; i++)     {         a[i][0] = 1;         a[i][i] = 1;     }     for (i = 2; i < num; i++)     {     for (j = 1; j < i; j++)     

C语言成长学习题(十三)

五十六.编写求字符串长度的程序. 1 #include <stdio.h> 2 3 void main(void) 4 { 5 char a[80]; 6 int i = 0, count = 0; 7 8 gets(a); 9 while (a[i] != '\0') 10 { 11 count++; 12 i++; 13 } 14 printf("%s = %d\n", a, count); 15 } 五十七.编写字符串复制的程序. 1 #include <std

06_二维数组、面向对象

1:二维数组(理解) (1)元素是一维数组的数组. (2)格式:(四种格式) A:数据类型[][] 数组名 = new 数据类型[m][n]; B:数据类型[][] 数组名 = new 数据类型[m][]; C:数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}}; D:数据类型[][] 数组名 = {{...},{...},{...}}; (3)案例(掌握): A:二维数组的遍历 B:二维数组的求和 C:杨辉三角形 Array2Demo.java /*

黑马程序员——经典C语言程序设计100例

1.数字排列 2.奖金分配问题 3.已知条件求解整数 4.输入日期判断第几天 5.输入整数进行排序 6.用*号显示字母C的图案 7.显示特殊图案 8.打印九九口诀 9.输出国际象棋棋盘 10.打印楼梯并按条件打印笑脸 11.经典兔子问题 12.判断素数 13.水仙花数问题 14.正整数分解质因数 15.学习成绩划分 16.正整数求其最大公约数和最小公倍数 17.统计英文字母/空格/数字个数 18.求s=a+aa+aaa+aa...a的值 19.求解"完数" 20.球体自由落下物理问题

javaSE27天复习总结

JAVA学习总结????2 第一天????2 1:计算机概述(了解)????2 (1)计算机????2 (2)计算机硬件????2 (3)计算机软件????2 (4)软件开发(理解)????2 (5)语言????2 (6)人机交换????2 2:键盘功能键的认识和快捷键(掌握)????2 (1)功能键的认识????2 (2)快捷键????3 3:常见的DOS命令(掌握)????3 (1)常见的如下????3 (2)其他的几个(了解)????3 4:Java语言概述(了解)????4 (1)Jav