>最近後輩にプログラミングを教えています。
そこで今日は少し課題を出してみました。内容は、フィボナッチ数列を羅列する、です。
まず僕の作ったプログラムは
#include <stdio.h>
unsigned long a,pa,ppa;
int main(){
pa=1;//n=1
ppa=1;//n=2
printf(“%d \r\n”,ppa);
printf(“%d \r\n”,pa);
while(1){//3項目以降
a=ppa+pa;
ppa=pa;pa=a;
printf(“%d \r\n”,a);
}
}
こうなっています。
そして後輩が作ってくれたプログラムは
#include <stdio.h>
int main(){
int a;
int b;
a=0;
b=1;
printf(“1″);
while(1){
a=a+b;
printf(“%d \r\n”,a);
b=a+b;
printf(“%d \r\n”,b);
}
}
でした。
Tabによる段落分けや改行による部分分けというのは置いておいて、
僕はついつい書き換えやすいように/考え易いようにほぼ漸化式そのままでプログラムを書いてしまいました。
しかしプログラム自体は後輩の方が短いです。
書き換えにくいかもしれない、でも変数の数が少なくてメモリ使用量も抑えられていて、発想力に少し感動させられました。
どちらのプログラムのほうがうまいとは言えない、課題を出したものとして少しきまずい瞬間でした。