算法练习——Pascal三角形

算法练习——Pascal三角形_第1张图片

思路:1:总结出数字规律

            第n行第一列和第n列总是为1

            第n行r列的数为第(n-1)行r列+(n-1)行(r-1)列

            2:总结出打印在输出上的格式

过程中的错误想法:引用排列组合函数C(n,r),还需分情况考虑,太过繁琐

package com.suanfa.test;

import java.util.Scanner;

//巴斯卡三角形
public class Pascal {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        for (int i = 1; i <=n; i++) {
            for (int j = 1; j 2&j>1&j1) {
            num=num*n--;
        }
        return num;
    }
    //排列数公式
    public static long A(int n,int r) {
        long num=1;
        return N(n)/N(n-r);
    }
    //组合数公式
    public static long C(int n,int r) {
        long num = 1;
        return A(n,r)/N(r);
    }
    //返回杨辉三角数列
    public static int pascal(int n,int r) {
        if (r==1||n==r) {
            return 1;
        }
        else
            return pascal(n-1,r)+pascal(n-1,r-1);
    }

}

 

你可能感兴趣的:(算法练习——Pascal三角形)