杨辉三角形

在我讲解杨辉三角形的时候,我们先来认识一下杨辉三角形

这里写图片描述
图一

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
图二

杨辉三角形是一个不能少于三行的数字群,我们来看图二来分析这个杨辉三角形会更好一点。从第二行(我们是从第0行来开始计数的)的第一列开始,(也就是非1的部分),每个数都是该数的左上角数与该数的正上面的的数之和。
我们进一步分析,只用第0列和
行号和列号相同的时候数值才是1。

因此我们写代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace yhTriangle
{
    class Program
    {
        /*                           1
         *                         1   1
         *                       1   2   1
         *                     1   3   3   1
         *                   1   4   6   4   1
         */
        static void Main(string[] args)
        {
            Triangle(9);
            Console.ReadLine();
        }
        //定义一个函数
        static void Triangle(int n) {
            //定义一个数组,用来存放数据
            int[,] tri = new int[n, n];
            //外循环控制行数
            for (int i = 0; i < n; i++) {
                //内循环控制列数
                for (int j = 0; j <= i; j++) {
                    //当行号和列号相同的时候,我们来存放1
                    if (j == 0 || i == j)
                    {
                        tri[i, j] = 1;
                    }
                    //否则我们存放tri[i-1, j-1] 与tri[i-1, j]之和
                    else if((j>0 && j<i))
                    {
                        tri[i, j] = tri[i-1, j-1] + tri[i-1, j];
                        
                    }
                }
            }
            //打印杨辉三角形
            for (int i = 0; i < n; i++) {
                for (int k = 0; k < n - i - 1; k++)
                {
                    Console.Write(" ");
                }
                for (int j = 0; j <= i; j++)
                {

                     Console.Write(tri[i, j] + " ");
                }
                Console.WriteLine();
            }
        } 
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yy763496668

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值