精华内容
下载资源
问答
  • 杨辉三角形是一个由数字排列组成的三角形数表。其一般形式如图 1 所示,每行开始和结尾处的数字都为 1,其他数字都是它所在行的上一行中靠近它的两个数之和。图 1:杨辉三角形请编程输出其中的前 n(n≤20)行。问题...

    杨辉三角形是一个由数字排列组成的三角形数表。其一般形式如图 1 所示,每行开始和结尾处的数字都为 1,其他数字都是它所在行的上一行中靠近它的两个数之和。

    81ded80c19d5613c0794c526a7691245.gif

    图 1:杨辉三角形

    请编程输出其中的前 n(n≤20)行。

    问题分析

    输入:一个正整数,表示杨辉三角形的行数。

    输出:n行杨辉三角形。

    仔细观察杨辉三角形可以发现,其数字是有规律的,每行的第一个和最后一个数字都为 1,而且从第 3 行开始,其他位置的数字都是它所在行的上一行中靠近它的两个数之和。

    因为数字比较多,而且分布在多行,我们可以用一个二维数组来存储和处理这些数字。如此,则从第 3 行开始,除行首和行尾之外的其他任意数字 t[i][j] 就等于其上一行的数字 t[i-1][j-1] 和 t[i-1][j] 之和,即:

    t[i][j] = t[i-1][j-1] + t[i-1][j]

    第一行和第二行的数字以及其他所有处在行首和行尾的数字都为 1,即:

    t[0][0] = 1 //第一行

    t[1][0] = 1 t[1][1] = 1 //第二行

    t[i][0] = 1 t[i][i] = 1 //其他行首和行尾

    另外,行数增大后,处在行中间位置的数字会大于 int 型的最大取值范围 32767,因此,我们定义二维数组的类型为 long int 型。

    算法描述

    1) 输入欲打印的行数 n;

    2) 初始化第一行的 t[0][0] 和第二行的 t[1][0]、t[1][1];

    3) 循环变量 i(2~n-1)控制处理 3~n 行的数组元素赋值:当前行行首数组元素赋值为1;

    循环变量 j(1~i-1)控制处理当前行中间位置的数组元素赋值:t[i][j]=t[i-1][j-1]+t[i-1][j];当前行行尾数组元素赋值为1;

    4) 循环变量 i(0~n-1)、j(0~i)控制遍历数组并输出杨辉三角形;

    5) 结束。

    代码清单 2:输入 20 行以内的杨辉三角形

    #include

    #include

    int main( )

    {

    int n,i,j;

    printf("输入欲打印的行数n(2

    scanf("%d",&n);

    if(n>20) n=20;

    long t[20][20]={[0][0]=1,[1][0]=1,[1][1]=1};//前2行赋初值

    for(i=2;i

    {

    t[i][0]=1;

    for(j=1;j

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

    t[i][i]=1;

    }

    for(i=0;i

    {

    for(j=0;j<=i;j++) //用for循环遍历并打印一行所有数字

    printf("%d ",t[i][j]);

    printf("\n"); //打印完一行后换行

    }

    system("pause");

    return 0;

    }

    运行结果为:

    输入欲打印的行数n(2

    1

    1 1

    1 2 1

    1 3 3 1

    1 4 6 4 1

    1 5 10 10 5 1

    展开全文
  • 使用双层循环,在外层循环中初始化每一个第二层数组的大小。在内层循环中,先将两侧的数组元素赋值为1,其他数值通过公式计算,然后输出数组元素。public class YanghuiTriangle {public static void main(String[] ...

    思路是创建一个整型二维数组,包含10个一维数组。使用双层循环,在外层循环中初始化每一个第二层数组的大小。在内层循环中,先将两侧的数组元素赋值为1,其他数值通过公式计算,然后输出数组元素。

    public class YanghuiTriangle {

    public static void main(String[] args) {

    int triangle[][]=new int[10][];// 创建二维数组

    // 遍历二维数组的第一层

    for (int i = 0; i < triangle.length; i++) {

    triangle[i]=new int[i+1];// 初始化第二层数组的大小

    // 遍历第二层数组

    for(int j=0;j<=i;j++){

    // 将两侧的数组元素赋值为1

    if(i==0||j==0||j==i){

    triangle[i][j]=1;

    }else{// 其他数值通过公式计算

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

    }

    System.out.print(triangle[i][j]+"\t");         // 输出数组元素

    }

    System.out.println();               //换行

    }

    }

    }

    展开全文
  • * 使用循环输出杨辉三角 * * */ public class Test6 { public static void main(String[] args) { // 创建二维数组 int triangle[][] = new int[8][]; // 遍历二维数组的第一层 for (int i ...
    /**
     * 使用循环输出杨辉三角
     * 
     * 
     */
    public class Test6 {
    	public static void main(String[] args) {
    		// 创建二维数组
    		int triangle[][] = new int[8][];
    		// 遍历二维数组的第一层
    		for (int i = 0; i < triangle.length; i++) {
    			// 初始化第二层数组的大小
    			triangle[i] = new int[i + 1];
    			// 遍历第二层数组
    			for (int j = 0; j <= triangle[i].length - 1; j++) {
    				// 将两侧的数组元素赋值为1
    				if (i == 0 || j == 0 || j == triangle[i].length - 1) {
    					triangle[i][j] = 1;
    				} else {
    					// 其他数值通过公式计算
    					triangle[i][j] = triangle[i - 1][j]
    							+ triangle[i - 1][j - 1];
    				}
    				// 输出数组元素
    				System.out.print(triangle[i][j] + "\t");
    			}
    			System.out.println();
    		}
    	}
    }
    


    转载于:https://www.cnblogs.com/dyllove98/p/3146804.html

    展开全文
  • js for循环三角形 杨辉三角 正三角: function zheng(num) { for (let i = 0; i < num; i++) { let n = 0; for (var j = 0; j <= i; j++) { document.write("*") }; docu...

    js for循环三角形 杨辉三角

    正三角:

    
    function zheng(num) {
        for (let i = 0; i < num; i++) {
            let n = 0;
            for (var j = 0; j <= i; j++) {
                document.write("*")
            };
            document.write('<br />')
        }
    };
    zheng(5);
    
    正三角 :
    *
    **
    ***
    ****
    *****
    

    倒三角:

    function dao(num) {
        for (let i = 0; i < num; i++) {
            for (var j = num; j > i; j--) {
                document.write("*")
            };
            document.write('<br />')
        };
    }
    dao(4);
    
    倒三角
    ****
    ***
    **
    *
    

    封装 杨辉三角:

    function hd(row = 5) {
        for (let i = 1; i < row; i++) { // 有几层
    
            for (let n = row - i; n > 0; n--) { // 左侧填充
                document.write(`<span style='color:#fff'>^</span>`);
            };
            for (let m = i * 2 - 1; m > 0; m--) { // 右侧显示
                document.write("* ");
            };
            document.write('<br />');
        };
    };
    hd(20);
    

    杨辉三角:
    在这里插入图片描述

    展开全文
  • 杨辉三角形由数字排列,可以把它看做一个数字表,其基本特性是两侧数值均为1,其他位置的数值是其正上方的数字与左上角数值之和,下面是java使用for循环输出包括10行在内的杨辉三角形
  • 杨辉三角for循环 import java.util.Scanner; /** * 杨辉 * * @author Fzxey * */ public class Test413_19 { public static void main(String[] args) { ...
  • 打印杨辉三角--for循环

    千次阅读 多人点赞 2017-04-30 00:23:28
    要求打印7行直角杨辉三角杨辉三角
  • 首先在类的主方法中创建一个二维数组,并且指定二维数组的第一维长度,这个数组用于存放杨辉三角形的数值表,通过双层for循环来实现第二维数组的长度,然后计算整个数组的每个元素的值。 代码: public class ...
  • for循环输出杨辉三角形(java)杨辉三角形(java)1.代码2.运行结果 杨辉三角形(java) 1.代码 代码如下(示例): public class YanghuTriangle { public static void main(String[] args) { int triangle[][]=...
  • /** @author 葆宁 @time 2019.3.14 */ public class Example { public static void main(String[] args) { int triangle[][]=new int[8][];...for (int i = 0; i &amp;lt; triangle.length; i++) { ...
  • JAVA 使用for循环输出杨辉三角形

    千次阅读 2019-07-15 17:30:32
    JAVA 使用for循环输出杨辉三角形 代码: package cctv; public class YanghuiTriangle { public static void main(String[] args) { // TODO Auto-generated method stub int Triangle[][]=...
  • include <stdio.h> main() { int i,j,n=0,a[17][17]={0};...{ printf("请输入杨辉三角形的行数:"); scanf("%d",&n); } for(i=0;i<n;i++) a[i][0]=1; /*第一列全置为一*/ for(i=1;i&...
  •  printf("%d行杨辉三角如下:\n",n);  for(i=1;i;i++)  a[i][1] = a[i][i] = 1; /*两边的数令它为1,因为现在循环从1开始,就认为a[i][1]为第一个数*/  for(i=3;i;i++)  for(j=2;j;j++)  a[i][j]=a[i-1]...
  • 首先需要说明的问题:什么是杨辉三角形? 如图所示:杨辉三角形由数字排列,基本的特点是两侧的数值均为1,其它位置的数值是基正上方的数值与其左上方的数值之和. 代码实现: package test; import java.io....
  • 题目: 使用for循环输出杨辉三角 思路: (1)先将两侧的数组元素都赋值为1 (2)再将里面的元素按照杨辉三角的运算规律来计算赋值 源码:
  • 杨辉三角由数字排列,可以把它看作一个数字表:两侧数值均为1,其它位置的数值是其正上方的数值与左上方数值之和。本例子使用for循环输出 包括10行内容的杨辉三角形。代码如下: /** * 使用for循环输出杨辉三角形 ...
  • 题目要求:利用嵌套 for循环在屏幕上输出杨辉三角。 #include <iostream> #include <iomanip> using namespace std; int main() { //杨辉三角 int n, i, j,k;//i来计行数,j来计*数,t计空格 int a[21]...
  • public static void main(String[] args) { int arr[][] = new int[8][];... for (int i = 0; i < arr.length; i++){ arr[i] = new int[i+1]; for (int j = 0; j <=i; j++){ if (i==0||j==0||j==i){ ..
  • Java基础应用之循环控制(使用for循环输出杨辉三角
  • 使用for循环输出杨辉三角

    千次阅读 2017-03-08 21:56:35
    package 基本语法; public class YangHuiTriangle { public static void main(String[] args) { ...for(int i=0;i //遍历二维数组第一层 { triganle[i]=new int[i+1]; //初始化第二层数组的

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 358
精华内容 143
关键字:

杨辉三角for循环