import java.util.Arrays;
import java.util.Scanner;
public class YangHuiSJ {
public static void YHsj(int n,int m){
int [][]a=new int [n][n];//使用多维数组对整个杨辉三角进行储存
for(int i=0;i<n;i++){//先对所有的边界条件进行赋值
a[i][0]=1;
a[i][i]=1;
}
for(int i=1;i<n;i++){//对初始化的杨辉三角进行遍历
for(int j=1;j<n;j++){
if(a[i-1][j]!=0){//计算对应位置的值,只有当某个位置上方不为0时,才进行计算
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
}
System.out.println( a[n-1][m-1]);//打印所求的值
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入想要获得的值");
int n=scanner.nextInt();
int m=scanner.nextInt();
if(m>n){
System.out.println("当前输入不合法,请重新输入");//先进行输入判断,否则会抛出数组越界异常
}
else { YHsj(n, m);
}
}
}
得到杨辉三角的某个值
最新推荐文章于 2022-04-07 23:07:15 发布