1
1 1 1
1 2 3 2 1
1 3 6 7 6 3 1
1 4 10 16 19 16 10 4 1
以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。
求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3。
输入n(n <= 1000000000)
方法一:
找规律,发现结果只可能为 -1,2,3,4
方法二:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
System.out.print(findIndex(n));
}
sc.close();
}
public static int findIndex(int n){
if(n<2){
return -1;
}
int[][] arr=new int[20][40];
arr[0][n-1]=1;
arr[n-1][0]=1;
arr[n-1][2*n-2]=1;
for(int i=1;i<n;i++){
for(int j=1;j<2*n-2;j++){
arr[i][j]=arr[i-1][j+1]+arr[i-1][j-1]+arr[i-1][j];
if(i==n-1){
if(arr[i][j]%2==0){
//System.out.print(j+1);
return j+1;
}
}
}
}
// //判断偶数
// for(int k=0;k<arr[n-1].length;k++){
// if(arr[n-1][k]%2==0){return k+1;}
// }
return -1;
}
}
方法三:递归