フィボナッチ数列 | アルゴリズム[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

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍