プログラマメモ2 - programmer no memo2

フィボナッチ数列に現れる偶数の値の合計をもとめる。その2 2008/03/05


うう
計算するのも課題ですよね...

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;

public class F {

public static void main(String[] args) {

int i = 0;
int sum = 0;
while (true) {
int n = fibo(i).intValue();
if (!(n <= 4000000))
break;
if ((n % 2) != 0) {
sum += n;
}
i++;
}
System.out.println(sum);
}

public static BigDecimal fibo(int x) {

class Fibo {

Map m = new HashMap();

public BigDecimal fibo(int x) {

BigDecimal r = null;

if ((r = (BigDecimal) m.get(x)) != null)

return r;

switch (x) {

case 0:

case 1:

r = new BigDecimal(1);

break;

case 2:

r = new BigDecimal(2);

break;

default:

r = fibo(x - 1).add(fibo(x - 2));

}

m.put(x, r);

return r;

}

}
;

Fibo f = new Fibo();

return f.fibo(x);

}
}



関連
プログラマメモ2: [java]フィボナッチ数列

:

匿名

おお、対応していただいたのですね。
ありがとうございます^^

ugo.nakawaka

コメントありがとうございます。
精進しますです。