使用二维数组打印10行的杨辉三角

提示:

1.第1行有1个元素,第n行有n个元素;

2.每一行的第一个元素和最后一个元素都是1;

3.从第三行开始,对于非第一个元素和最后一个元素的元素,即

yanghui[i][j] = yanghui[i-1][j] + yanghui[i-1][j-1];

public class YangHuiTriangle {

    public static void main(String[] args) {
        //1.创建并初始化数组
        int[][] yanghui = new int[10][];

        //2.给数组赋值
        for(int i=0;i<yanghui.length;i++) {
            yanghui[i] = new int[i+1];

            //2.1给每一行的首末未元素赋值1
            yanghui[i][0] = 1;
            yanghui[i][i] = 1;

            //2.2给非首末尾元素赋值,j表示列数
            for(int j=1;j<yanghui[i].length-1;j++) {
                yanghui[i][j] = yanghui[i-1][j] + yanghui[i-1][j-1];
            }

        }

        //遍历数组
        for(int i=0;i<yanghui.length;i++) {
            for(int j=0;j<yanghui[i].length;j++) {
                System.out.print(yanghui[i][j]+" ");
            }
            System.out.println();
        }
    }

}

原文地址:https://www.cnblogs.com/wsxdev/p/11610718.html

时间: 2024-10-09 18:36:13

使用二维数组打印10行的杨辉三角的相关文章

Js中,刚学完二维数组和函数,输出杨辉三角

var a= Array(5);for ( var i= 0;i<a.length;i++){ a[i]=Array(i+1); a[i][0]=1; for(var j=0;j<a[i].length;j++) { if(i==j) { a[i][j]=1 } else{ if((i-1)>=0&&(j-1)>=0) { a[i][j]=a[i-1][j-1]+a[i-1][j];} } } }; for(var i in a){ for(var j in a[i

用二维数组打印出杨辉三角

用二维数组打印出杨辉三角 首先你得知道二位数组和熟练二位数组,再次你得知道杨辉三角的规律! 相信能知道这个的,你已经掉了半只脚在这个坑了,不说废话直接上... 针对Javascript掌握基础的: 在电脑输入cmd命令打开控制器先要创建node'.js的环境: 你得把这个文件夹和你的js文件放在一起! js代码如下: 1 let readline = require("readline-sync"); 2 console.log("请输入杨辉三角的行数:"); 3

19.把1~100存到二维数组a[10][10]中,并按二维矩阵形式输出

#include<iostream>using namespace std; int main(){    int a[10][10];    for(int i=0;i<10;i++)    {        for(int j=0;j<10;j++)        {            a[i][j]=i*10+j+1;//二维数组逻辑上还是一维数组的存储方式        }    }    for(int j=0;j<10;j++)    {        for

打印6阶的杨辉三角

package explain; public class YangHui { // 打印6阶的杨辉三角 public static void main(String[] args) { int rows = 6; int[][] arrs = new int[rows][]; // 初始化 for (int i = 0; i < rows; i++) { arrs[i] = new int[i + 1]; } // 计算每行的值 for (int i = 0; i < rows; i++)

二维数组打印

有一个二维数组(n*n),写程序实现从右上角到左下角沿主对角线方向打印. 给定一个二位数组arr及题目中的参数n,请返回结果数组. 测试样例: [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]],4 返回:[4,3,8,2,7,12,1,6,11,16,5,10,15,9,14,13] 分析:首先明确二维数组的一些知识点:数组值arr[x][y]表示指定的是第x行第y列的值.在使用二维数组对象时,注意length所代表的长度,数组名后直接加上leng

python 按二维数组的某行或列排序 (numpy lexsort)

lexsort支持对数组按指定行或列的顺序排序:是间接排序,lexsort不修改原数组,返回索引. 默认按最后一行元素有小到大排序, 返回最后一行元素排序后索引所在位置. 设数组a, 返回的索引ind, a可以是1维或2维数组,ind返回的是一维数组 对于一维数组, a[ind]就是排序后的数组. 对于二维数组下面会详细举例. import numpy as np >>> a array([[ 2,  7,  4,  2], [35,  9,  1,  5], [22, 12,  3, 

二维数组打印杨辉三角

一共搞了三个版本~虽然核心算法是一样的,但是我说是三个就是三个!!! 一.普通版 let readline=require("readline-sync"); console.log("请输入杨辉三角的行数:"); let line = parseInt(readline.question("")); let arr=[[1],[1,1]]; for(let i=2;i<line;i++){ arr[i]=[]; for(let j=0;j

c实现任意行输出杨辉三角

#include<stdio.h> #include<stdlib.h> int** fmalloc(int n){ int** array; int i; array = (int** )malloc(sizeof(int*) * n); for(i=0; i<n; ++i){ array[i] = (int*)malloc(sizeof(int*) * (i+1)); } return array; } int main() { int n; int i,j; print

二维数组打印乘法表,三角形,输入三个数,输出最大值

public class ShuZuText { public static void main(String []args) { // bijiaodaxiao(); jiujiuchengfabiao(); sanjiaoxing(); } private static void sanjiaoxing() { for(int i = 1;i<=5;i++){ for(int j = 5-i;j >= 1;j--){ System.out.print(" "); } f