• 杨辉三角形


    /*
    标题: 杨辉三角
    
    杨辉三角也叫帕斯卡三角,在很多数量关系中可以看到,十分重要。
    
    第0行:           1
    第1行:          1 1
    第2行:         1 2 1
    第3行:        1 3 3 1
    第4行:       1 4 6 4 1
    ....
    
    两边的元素都是1, 中间的元素是左上角的元素与右上角的元素和。
    
    我们约定,行号,列号都从0计数。
    所以: 第6行的第2个元素是15,第3个元素是20
    
    直观地看,需要开辟一个二维数组,其实一维数组也可以胜任。
    如下程序就是用一维数组“腾挪”的解法。
    
    请仔细分析源码,并完成划线部分缺少的代码。
    注意:只提交缺少的代码,不要提交已有的代码和符号。也不要提交说明性文字。
    */
    
    
    package test;
    
    public class 帕斯卡三角型 {
            // 杨辉三角形的第row行第col列
            static long f(int row, int col){
                if(row<2) return 1;
                if(col==0) return 1;
                if(col==row) return 1;
                
                long[] a = new long[row+1];
                a[0]=1;
                a[1]=1;
                
                int p = 2;//从第二行开始推
                
                while(p<=row){
                    a[p] = 1;//最后一个数都为1
                    for(int q=p-1; q>0; q--) //从后往前推
                        a[q] = a[q] + a[q-1];
                    p++;
                }
                
                return a[col];
            }
            
            public static void main(String[] args){
                System.out.println(f(6,2));
                System.out.println(f(6,3));        
            }
        }
  • 相关阅读:
    C#方法重载 -0024
    C#表达式体方法 (expression-bodied method )
    C# 匿名类型 -0022
    C# 不可变类型 -0021
    C# 属性 -0020
    C# readonly和const -0019
    C# 类的静态成员和实例成员 -0018
    C#中类和结构体的区别 -0017
    C#预处理器指令 -0016
    微信小程序TabBar定义和配置
  • 原文地址:https://www.cnblogs.com/ljs-666/p/8595627.html
Copyright © 2020-2023  润新知