塔形“杨辉三角形”


以下内容纯手打 因为没有套入到Eclipse中  所以可能个别标点可能有问题 

public class YangHuiTa{

        public static void main (String[] args ){

                 int leveCount =  10 ;     // 杨辉三角的层数

                 int [] [] yangHui= new int [leveCount][0];
      // 创建一个二维数组来保存杨辉三角的值;

           // 用for循环为杨辉三角的每一层创建一个int 数组;
      for (int i=0; i <levecount ; i++ ) {    //  每次循环生成一行杨辉三角

            yangHui[i] = new int [i+1];     //  每层杨辉三角中包含的元素个数为【i+1】个

         for ( int j = 0 ; j < = i ; j ++ ) {
                //  每次循环计算杨辉三角一行中 的一个元素

                  if (i == 0 ) {   //  如果是第一行 直接赋值为  1

                   yangHui[i] [j] =  1;

                  }  else {   //  如果不是第一行,根据上一行的值计算当前行每个元素的值

                          int  value = 0 ;   //  yon用来保存当前元素int 变量;

                 if ( j>=1){
                      // 根据杨辉三角的计算规则,判断元素的左上方是否有元素

                       value += yangHui[i-1] [j-1] ;
                        //  有则将当前元素上方的值添加到变量中;
                            }

                 if ( j < i ) {
                     // 根据杨辉三角的计算规则,判断右上方有么有元素;
                  value += yangHui [i-1] [j] ;
                //  有 则将当前元素的上方的值添加到value 变量中
                            }

                      yangHui[i][j] = value ; // j将value的值赋给当前元素
                   }
           }
}
        for ( int i = 0 ; i < leveCount ; i ++ ){  //    循环输出元素的值
                        for ( int j = 0 ; j < = i ; j ++ ) {
                         System.out.print ( yangHui [i] [j] + "\t");
                                     }
                 System . out . println();
}
                 System.out.println ( " 下面输出塔形杨辉三角形");
                 for ( int i =0; i < leveCount ; i ++ ) {   // s输出塔形杨辉三角
                        for  ( int j = 0 ; j < = leveCount - i - 1 ; j ++ ) {
                                   // 输出相应个数的制表符;
                        System.out.print("\t");
   } 

                   for ( int j = 0 ; j < = i ; j++) {
    // 读取杨辉三角的内容;
                     System.out. print ( yangHui[i] [j] + "\t\t");
                }
                           System.out.println();
                }
          }
}

  

时间: 2024-12-28 00:36:57

塔形“杨辉三角形”的相关文章

打印杨辉三角形的前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,大家不容易找到规律,但是如果将它转

蓝桥杯 BASIC-4~6 数列特征、查找整数、杨辉三角形

数列特征 [AC代码]: #include <iostream> #include <algorithm> using namespace std; #define MAX 10000+10 int main() { int n = 0, i = 0; int num[MAX]; cin >> n; for (i = 0; i < n; i++) cin >> num[i]; int mmin = num[0], mmax = num[0], sum

java 实现(代码) -- 水仙花数 + 杨辉三角形

1 /* 2 在控制台输出所有的“水仙花数” 3 水仙花:100-999 4 5 在以上数字范围内:这个数=个位*个位*个位+十位*十位*十位+百位*百位*百位 6 7 例如:xyz=x^3 +y^3 +z^3 8 9 怎么把三位数字拆成每位整数 10 11 思路:百位: int x= i / 100 12 十位: int y = i / 10 % 10 13 个位: int z = i % 10 14 15 */ 16 class LoopTest3 { 17 public static vo

打印杨辉三角形(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

leetcode 生成杨辉三角形, 118 119 Pascal&#39;s Triangle 1,2

Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 解决方案: vector<vector<int>> generate(int numRows) { vector<vector<int>> res = {};

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年发

118. 119. Pascal&#39;s Triangle -- 杨辉三角形

118. Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] class Solution { public: vector<vector<int>> generate(int numRows) { vector<vector<

杨辉三角形 递归与非递归

基础练习 杨辉三角形 时间限制:1.0s   内存限制:256.0MB 问题描述 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数. 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加. 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行. 输入格式 输入包含一个数n. 输出格式 输出杨辉三角形的前n行.每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔.请不要在前面输出多余的空格. 样例输入 4 样例输出