That's the question.

ʬ�����㤤����� - ��Ʊ�����Ȥ�2�٤��ʤ��褦�ˤ���פȤ����ץ�����ޤν��������դ����������礭�������Ƥ���
���ε����Ǽ�ĥ���Ƥ���褦�ˡ�Ʊ�����Ȥ�2�٤��ʤ���Only and Only Once���뤤��DRY��Don't Repeat Yourself�ˡפ�̵���ǹͤ��Ƥ��ޤ��ȡ��դ����������礭���㲼���륱�������������󤢤롣

ʬ�����㤤�����Ŧ���Ƥ���褦�ˡ��¤ϡַ����֤��ʤ��פȤ�������ˤϡ��ַ����֤��ʤ�����λ��Ȥߤ���פȤ��������Ȥ�ȼ����

�㤨���ե��ܥʥå����Τ��Ȥ�ͤ��Ƥߤ롣1, 1, 2, 3, 5, 8�Ȥ��������򸫤����ơ��ּ������Τϲ�?�פ�ʹ���줿�顢�虜�虜

perl -le 'sub f{my $n=shift; $n<2 ? $n : f($n-1)+f($n-2)}; print f(7)'

�ʤɤȤ��Τϴ�ȴ���������Τޤ�5��8��­����13�Ȥ�ä�������������������20���ܤϲ�?�פȸ���줿�顢

perl -le 'sub f{my $n=shift; $n<2 ? $n : f($n-1)+f($n-2)}; print f(19)'
�Ȥ�ä�����������������ˤ��줬��100���ܡפȤ��ˤʤä��顢�����f()������θ�ľ����ɬ�פǡ��㤨��
perl -MMemoize -le 'sub f{my $n=shift; $n<2 ? $n : f($n-1)+f($n-2)};' \
 -e 'memoize "f"; print f(100)'

�Ȥ�������Memoize��Ȥ��Ȥ������뤤�Ͽ��ؤ��Ȥ���

perl -le '$a=(1+sqrt(5))/2; $b=(1-sqrt(5))/2' \
 -e 'sub f{my $n=shift; int(($a**$n+$b**$n)/sqrt(5))}; print f(100);'

�Ȥ�����ɬ�פ��ФƤ��������������˲��٤ⷫ���֤��ƻȤ��ΤǤ���С�

perl -le '$a=(1+sqrt(5))/2; $b=(1-sqrt(5))/2;' \
 -e 'sub f{my $n=shift; int(($a**$n+$b**$n)/sqrt(5))}; print f(shift)' 100

�Ȥ������˰����ǻ���Ǥ���褦�ˤ��������������������Ϻ�Ǥ��ޤ���ΤǤϤʤ������ȼ¹Բ�ǽ�ʥƥ����ȥե�����ˤ�����ǡ�fib.pl 100�Ȥ���������������

�������ǽ����äơ���1, 1, 2, 3, 5, 8�μ������Τ�?�פ�ʹ���줿�顢�ץ�������񤯤Τ����ɤ������ǤϤʤ������֤ȤäȤȹͤ��ʤ��Ǥ�ä��ޤä������᤯�ư¤��ƻݤ��פȤ�����ϥץ������˸¤餺�����λ���Ǹ����롣

��ĸ�����Τϡ������ԤΡֹͤ���٤�����ä��ޤ��٤����פ�����ϡ��֤�äƤߤʤ��ȡפ狼��ʤ��Ȥ������Ȥ����֤�äƤߤơ�����Ω��������ʤ���йͤ���ס����ΤȤ������줬�ָϤ줿���르�ꥺ��פΤ褦�Ǥ��롣

��20�������˾������᤯�ˤϡ��ޤ�10�������˾������ᤤ�ƤߤƤ����꤫���ä�������20������ˤ����ʤ�ĩ�魯�����ᤤ�פȤ��ä��Τ�ï���ä����Τ�"Programming Pearl"�Τɤ����Υڡ����˺ܤäƤ������ȤФ���

�Ƕ�Ǻ�ޤ����Τϡ���õ���������������ͤ��������������פȤ�������Ǥ��롣ʬ�����㤤������entry�Ǽ�ʬ�Υ���å���ο�����ò���Ƥ����������Ƕ���ؤ��ȯ�����Ƥ��ޤ����Ȥ��Τ���٤��������褿�褦�˻פ���������ޤ������ȤʤΤ���

Dan the Lazy, Impatient, and Hubristic