フィボナッチ数列 | アルゴリズム[Ruby][AOJ ALDS1_10_A]


アルゴリズムの基礎の一つであるフィボナッチ数列を求める問題『AOJ ALDS1_10_A - フィボナッチ数列』をRubyで解いてみました。

🐡 概要

🐯 Rubyコード

最初にmaxまでメモ化して解いてます。

MAX = 44
fib = [1, 1]
2.upto(MAX) do |i|
fib[i] = fib[i - 1] + fib[i - 2]
end
while i = gets.to_i
break if i <= 0
puts fib[i]
end

🍮 Javaコード

import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
private static final int MAX = 44;
public static void main(String[] args) {
int[] fib = new int[MAX + 1];
fib[0] = 1;
fib[1] = 1;
for(int i = 2; i <= MAX; i++) {
fib[i] = fib[i - 1] + fib[i - 2];
}
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
while(true) {
int num = Integer.parseInt(br.readLine());
if (num <= 0) { break; }
System.out.println(fib[num]);
}
} catch (Exception e) {
System.exit(0);
}
}
}

🍣 GitHUbリポジトリ

AOJの回答メモをGitHubをにアップしています。

morizyun/aoj-ruby-python - GitHub

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)