题目:
题目描述
下面的图形是著名的杨辉三角形:
如果我们按从上到下、从左到右的顺序把所有数排成一列,可以得到如下 数列: 1, 1, 1, 1, 2, 1, 1, 3, 3, 1, 1,
4, 6, 4, 1, … 给定一个正整数 N,请你输出数列中第一次出现 N 是在第几个数?输入 输入一个整数 N。 输出 输出一个整数代表答案。
样例输入 6
样例输出 13
提示 【评测用例规模与约定】
对于 20%的评测用例,1 ≤ N ≤ 10;
对于所有评测用例,1 ≤ N ≤ 1000000000。
题目解析:
本题可以先将杨辉三角用二维数组表现出来,在将要找的数与数组比较
题目代码:
package Test.Test_2021;
import java.util.Scanner;
/*
*/
public class _4杨辉三角 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
int count=1;
long[][] arr=new long[100][200000];
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j <=i ; j++) {
if(j==0||i==j){
arr[i][j]=1;
}else {
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
}
}
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j <=i; j++) {
if(N==arr[i][j]){
System.out.println(count);
return;
}else {
count++;
}
}
}
}
}