美文网首页
杨辉三角

杨辉三角

作者: 愿世界和平 | 来源:发表于2017-08-10 14:17 被阅读0次

面试的时候总会遇到手写杨辉三角算法,当时是一脸懵逼,过了那么长时间,终于下定决心好好研究研究.

1.首先使用c++:


// 杨辉三角
void YangHuifunction(){
    // 1. 初始化,都赋值为0
    int arr[10][10];
    for (int x = 0; x<10; x++) {
        for (int y = 0; y< x; y++) {
            arr[x][y] = 0;
        }
    }
    // 2.设置每一行的第一列和最后一列都是 1
    for (int i = 0;i<=10 ;i++) {
        arr[i][0] = 1;
        arr[i][i] = 1;
    }
    // 3.赋值
    for (int i = 2; i<10; i++) {
        for (int j = 1; j< i; j++) {
            // 等于上一行的第j-1列和第j列的和
            arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
        }
    }
    // 4.打印结果
    for (int x = 0; x<10; x++) {
        for (int y = 0; y<= x; y++) {
            cout<<arr[x][y]<< "  " ;
        }
        cout<<endl;
    }
}

2.swift语言:

    func YangHuiFunction(){
        // 1.初始化
        let n = 10
        // 根据行数初始化一个二维数组 
        var arr = [[Int]](repeating: [], count: n)
        // 根据每一行个数初始化每一行
        for i in 0..<arr.count
        {
            arr[i] += [Int](repeating: 0, count: i + 1)
        }
        // 2.赋值
      for i in 0..<arr.count
      {
            for j in 0..<arr[i].count
            {
                if j == 0 || j == i
                {
                    arr[i][j] = 1
                }
            else {
                arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]
                }
            }
        }
        
        // 3.打印
        for i in 0..<arr.count {
            // 当前行开始打印前,打印一定的空格 
            for _ in 0..<arr.count - 1 - i {
                print(" ", terminator: "") }
            // 打印当前行的数字 
            for j in arr[i] {
                print(j, terminator: " ")
            }
            // 换行 
            print("")
        }
            
         
    
    }

相关文章

  • 打印杨辉三角形

    杨辉三角形Java实现打印杨辉三角形,代码如下:

  • 杨辉三角

    杨辉三角

  • 2019-04-02

    杨辉三角

  • 杨辉三角的几种解法(python)

    1. 计算杨辉三角,普通法 2. 计算杨辉三角 补0法 3. 杨辉三角,对称法 中点的确定:[1][1,1][1,...

  • pascals-triangle-ii

    杨辉三角 II 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上...

  • C语言 | 杨辉三角形

    C语言 | 杨辉三角形 在屏幕上显示杨辉三角形: 问题分析与算法设计 杨辉三角问题,正是(x + y)的N次方...

  • 队列杨辉三角

    杨辉三角 杨辉三角的特点是,两腰都是1,中间的数=上面两个数之和。 使用队列思想实现杨辉三角的流程 首先,需要初始...

  • 二维数组

    二维数组树出杨辉三角:打印杨辉三角形(行数可以键盘录入)

  • Java二维数组

    二维数组树出杨辉三角:打印杨辉三角形(行数可以键盘录入)

  • 118. 杨辉三角

    【Description】给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,...

网友评论

      本文标题:杨辉三角

      本文链接:https://www.haomeiwen.com/subject/egjhrxtx.html