From f5a896f1ae4eda98a0d04fd7dffe778cf8ce2b33 Mon Sep 17 00:00:00 2001 From: YuCheng Hu Date: Thu, 7 Feb 2019 21:00:59 -0500 Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E4=B8=80=E4=B8=AA=E6=96=90=E6=B3=A2?= =?UTF-8?q?=E6=8B=89=E5=A5=91=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interview/ManNextFibonacciNumber.java | 68 +++++++++++++ src/main/resources/log4j2.xml | 97 +++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 src/main/java/com/ossez/codebank/interview/ManNextFibonacciNumber.java create mode 100644 src/main/resources/log4j2.xml diff --git a/src/main/java/com/ossez/codebank/interview/ManNextFibonacciNumber.java b/src/main/java/com/ossez/codebank/interview/ManNextFibonacciNumber.java new file mode 100644 index 0000000000..d98b2da869 --- /dev/null +++ b/src/main/java/com/ossez/codebank/interview/ManNextFibonacciNumber.java @@ -0,0 +1,68 @@ +package com.ossez.codebank.interview; + +import java.io.BufferedReader; +import java.io.InputStreamReader; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * + * https://www.cwiki.us/display/ITCLASSIFICATION/Next+Fibonacci+Number + * + * @author YuCheng + * + */ +public class ManNextFibonacciNumber { + private final static Logger logger = LoggerFactory.getLogger(ManNextFibonacciNumber.class); + + public static void main(String[] args) throws java.lang.Exception { + int fArray[] = new int[60]; + + for (int i = 0; i < 60; i++) { + fArray[i] = getFib(i); + } + + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + String input = br.readLine(); + // System.out.println(fib(Integer.valueOf(input))); + + for (int i = 0; i < Integer.valueOf(input); i++) { + Integer inputInt = Integer.valueOf(br.readLine()); + // System.out.println(inputInt); + for (int j = 0; j < fArray.length; j++) { + if (fArray[j] > inputInt) { + // System.out.println(fArray[j]); + logger.debug("{} Next Fibonacci [{}]", inputInt, fArray[j]); + break; + } + } + + } + + } + + /** + * Get Fibonacci Number + * + * @param n + * @return + */ + private static int getFib(int n) { + if (n < 0) { + return -1; + } else if (n == 0) { + return 0; + } else if (n == 1 || n == 2) { + return 1; + } else { + int[] fibAry = new int[n + 1]; + fibAry[0] = 0; + fibAry[1] = fibAry[2] = 1; + for (int i = 3; i <= n; i++) { + fibAry[i] = fibAry[i - 1] + fibAry[i - 2]; + } + return fibAry[n]; + } + } +} diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml new file mode 100644 index 0000000000..9cfef38ef0 --- /dev/null +++ b/src/main/resources/log4j2.xml @@ -0,0 +1,97 @@ + + + + + + /home/logs/reoc/services/ + + + + + + + + + + + + + + + + + + %-d{yyyy/MM/dd HH:mm:ss} %-5p [%c] - %m%n + + + + + + + + + + + + + + + %-d{yyyy/MM/dd HH:mm:ss} %-5p [%c] - %m%n + + + + + + + + + + + + + + + %-d{yyyy/MM/dd HH:mm:ss} %-5p [%c] - %m%n + + + + + + + + + + + + + + + %-d{yyyy/MM/dd HH:mm:ss} %-5p [%c] - %m%n + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file