/**
* Fibonacci Sequence
* <pre>
* <b>History:</b>
* 2018.06.11, 0.1, KIM TAE HO
* </pre>
*
* @author KIM TAE HO
* @version 0.1, 2018.06.11
* @see None
*/
import java.util.HashMap;
import java.util.Map;
import java.math.BigInteger;
public class Fibonacci {
private static Map<Integer, BigInteger> cacheOfSum = new HashMap<>();
public static void main(String[] args)
{
int needNumber = 8181;
cacheOfSum.put(0, BigInteger.ZERO);
cacheOfSum.put(1, BigInteger.ONE);
System.out.println(getFibonacci(needNumber));
}
/**
* (Fibonacci Logic)
* @param sequenceNumber Atom of fibonacci more then 0
* @return Sum Number with preview Number
*/
private static BigInteger getFibonacci(int sequenceNumber)
{
if (cacheOfSum.containsKey(sequenceNumber))
{
return cacheOfSum.get(sequenceNumber);
}
return recursiveCachedSum(sequenceNumber);
}
/**
* Cached Value Of specipied serquence Number that fibonacci
* @param sequenceNumber of using memoization
* @return Sum Number with preview Number
*/
private static BigInteger recursiveCachedSum(int sequenceNumber)
{
BigInteger calcSum = getFibonacci(sequenceNumber - 2).add(getFibonacci(sequenceNumber - 1));
cacheOfSum.put(sequenceNumber, calcSum);
return calcSum;
}
}
2018년 6월 11일 월요일
fibonnacci
By schoolhompy at 6월 11, 2018
No comments
Related Posts:
[日本語-複合動詞] 舞い上げる [日本語-複合動詞] 舞い上げる Sugoi Ebooks(Writen in English) Naver Cafe Sugoi Japanese Find a Job in Japan [日本語-複合動詞] 舞い上げる [日本語-複合動詞] 舞い上げる : まいあげる (먼지 등을) 흩날리다. 열차는 눈을 흩날리면서 나아갔다. 列車は雪を舞い上… Read More
[日本語-複合動詞] 掴み入れる [日本語-複合動詞] 掴み入れる Sugoi Ebooks(Writen in English) Naver Cafe Sugoi Japanese Find a Job in Japan [日本語-複合動詞] 掴み入れる [日本語-複合動詞] 掴み入れる : つかみいれる 잡아서 넣다. 그녀는 많은 오렌지를 봉투에 집어 넣었다. 彼女はたくさんの… Read More
[日本語-複合動詞] 浸り込む [日本語-複合動詞] 浸り込む Sugoi Ebooks(Writen in English) Naver Cafe Sugoi Japanese Find a Job in Japan [日本語-複合動詞] 浸り込む [日本語-複合動詞] 浸り込む : ひたりこむ 그 상태에 충분히 잠기다. 편안한 마음으로 음악에 잠겼다. ゆったりした気持ちで、… Read More
[日本語-複合動詞] 怒鳴り散らす [日本語-複合動詞] 怒鳴り散らす Sugoi Ebooks(Writen in English) Naver Cafe Sugoi Japanese Find a Job in Japan [日本語-複合動詞] 怒鳴り散らす [日本語-複合動詞] 怒鳴り散らす : どなりちらす 주위에 아랑곳하지 않고 호통치다. 그는 부하에게 마구 호통쳐댔다. … Read More
[日本語-複合動詞] 読みこなす [日本語-複合動詞] 読みこなす Sugoi Ebooks(Writen in English) Naver Cafe Sugoi Japanese Find a Job in Japan [日本語-複合動詞] 読みこなす [日本語-複合動詞] 読みこなす : よみこなす 내용을 충분히 이해하며 읽다. 영자신문을 읽고 내용을 잘 이해하는 요령을 … Read More
0 comments:
댓글 쓰기