题目如下:
实现代码:
package main;
import java.util.*;
public class Leetcode {
static int Max = 10000;
public static void main(String[] args) {
int N =in.nextInt();
Scanner in = new Scanner(System.in);
int[][] arr = new int[Max][Max];
int i=0,j=0;
int index=0;
int location=0;
arr[0][0] = 1;
arr[1][0] = 1;
arr[1][1] = 1;
arr[2][0] = 1;
arr[2][1] = 2;
arr[2][2] = 1;
if(N<1) {
index = 0;
}else if(N==1) {
index = 0;
location = 1;
}
else if(N==2) {
index = 0;
location = 4;
}
else {
for(int t=0;t<=N;t++)
arr[t][0] = 1;
for(i=3;i<=N;i++) {
j=1;
while(j<=(i+2)/2+1) {
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
if(arr[i][j]==N) {
index = 1;
break;
}
j++;
}
if(index>0)break;
}
if(index>0)
location = i*(i+1)/2+j+1;
System.out.println(location);
}
}
}