试题 H: 杨辉三角形
时间限制: 5.0s 内存限制: 512.0MB 本题总分:20 分
【问题描述】
下面的图形是著名的杨辉三角形:
如果我们按从上到下、从左到右的顺序把所有数排成一列,可以得到如下
数列:
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。
import java.util.Arrays;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
int[][]nums=new int [100][100];
int []n1=new int[10000];
for(int i=0;i<100;i++) {
for(int j=0;j<=i;j++) {
if(i>=2&&j>=1) {
nums[i][j]=nums[i-1][j-1]+nums[i-1][j];
}else {
nums[i][j]=1;
}
// System.out.print(nums[i][j]+",");
}
}
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int index=0;
for(int i=0;i<100;i++) {
for(int j=0;j<=i;j++) {
n1[index++]=nums[i][j];
// if(n==n1[i]) {
// }
}
}
for(int i=0;i<n1.length;i++) {
if(n==n1[i]) {
System.out.println(i+1);
break;
}
}
}
}
挖槽,摆烂