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)
本题有多组输入数据,输入到文件末尾,请使用while(cin>>)等方式读入
输入一个int整数
输出返回的int值
package HJ; import java.util.*; public class HJ53 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin = new Scanner(System.in); while (cin.hasNext()) { int id = -1; int a = cin.nextInt(); int b[][] = new int[a][1 + (a - 1) * 2]; for (int i = 0; i < a; i++) { for (int j = 0; j < 1 + (a - 1) * 2; j++) { if (i == 0) { if (j == 0) b[i][j] = 1; else b[i][j] = 0; } else { if (j == 0) b[i][j] = b[i - 1][j]; else if (j == 1) b[i][j] = b[i - 1][j] + b[i - 1][j - 1]; else b[i][j] = b[i - 1][j] + b[i - 1][j - 1] + b[i - 1][j - 2]; if (i == a - 1 && (b[i][j] % 2 == 0 && b[i][j] != 0)) { id = j + 1; break; } } } } System.out.println(id); } } }