杨辉三角
Code
public class code01_Triangle {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//杨辉三角满足 组合数 中间的数一定是最大的
// 17
// C34 求出1166803110 大于 1000000000
int [][] arr = new int[34][34];
//到34行末尾 一共有n*(n+1)/2个元素 595个
int[] temp = new int[600];
//生成杨辉三角
int i,j;
for(i=0;i<arr.length;i++){
//第一列和对角线都为1
arr[i][0] = arr[i][i] = 1;
for(j=0;j<=i;j++){
if(j>0&&j<i){
arr[i][j] = arr[i-1][j] + arr[i-1][j-1];
}
}
}
int count = 0;
for(i=0;i<arr.length;i++){
for(j=0;j<=i;j++){
temp[count] = arr[i][j];
count++;
}
}
int N = sc.nextInt();
for(i=0;i<count;i++){
if(N == temp[i]){
System.out.println(i+1);
break;
}
}
sc.close();
}
}