今日(2020/06/20)からアルゴリズムを勉強していこうと思う。選ばれたのはC言語です。理由は単純で今勉強中だから。メモ用として使っていくので詳しい解説はしない(というか知識がないからできない)。よく参考書にあるような数字の計算から始めるわけではないのでそこは理解していただきたい。では早速やっていこう。
環境構築に関しては以下の記事を参考にして構築した。(Windows)
※Macはわかりませんので各自で調べてください。
https://webkaru.net/clang/mingw-gcc-environments/
使用している書籍:C言語によるはじめてのアルゴリズム入門
著者:河西朝雄
#フィボナッチ数列
再帰処理の例でよく用いられるフィボナッチ数列
fib.c
#include <stdio.h>
long fib(long n){
if(n==1 || n==2){
return 1L;
}
else return fib(n-1) + fib(n-2);
}
int main(void){
long n;
for(n=1;n<=10;n++){
printf("%d: %ld\n",n,fib(n));
}
}
#出力結果
1: 1
2: 1
3: 2
4: 3
5: 5
6: 8
7: 13
8: 21
9: 34
10: 55
#まとめ
long型の値を返すときはLをつけるというのは初めて知った。今回はfib関数の返値で使用したが今後は型に気をつけてコードを書いていけたらと思う。