华为机试-iNOC产品部-杨辉三角的变形

题目描述
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)
输入描述:
输入一个int整数
输出描述:
输出返回的int值
示例1
输入

4
输出

3

程序实现

  1. import java.util.*;    
  2. import java.util.regex.Pattern;    
  3.     
  4. public class Main {    
  5.     
  6.  /*  
  7.   * @iNOC产品部-杨辉三角的变形     
  8.   *      1  
  9.   *   1  1  1  
  10.       1  2  3  2  1  
  11.    1  3  6  7  6  3  1  
  12. 1  4  10 16 19  16 10  4  1  
  13. 以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和  
  14. (如果不存在某个数,认为该数就是0)。  
  15. 求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3。   
  16.  */    
  17.  public static void main(String[] args) {    
  18.   Scanner scanner = new Scanner(System.in);    
  19.       while(scanner.hasNext()){  
  20.           int x=scanner.nextInt();    
  21.             int result=findNumber(x);    
  22.             System.out.println(result);    
  23.       }  
  24.       
  25.  }    
  26.     
  27.   public static int findNumber(int x){    
  28.     if(x<3){    
  29.      return -1;    
  30.     }else if(x%2==1){    
  31.      return 2;    
  32.     }    
  33.     else    
  34.         return x/2%2+3;    
  35.     
  36.    }    
  37. }   
原文地址:https://www.cnblogs.com/wwjldm/p/7158697.html