LoginSignup
0
0

More than 3 years have passed since last update.

毎日C言語 4日目 ユークリッドの互除法

Last updated at Posted at 2020-06-23

今日(2020/06/20)からアルゴリズムを勉強していこうと思う。選ばれたのはC言語です。理由は単純で今勉強中だから。メモ用として使っていくので詳しい解説はしない(というか知識がないからできない)。よく参考書にあるような数字の計算から始めるわけではないのでそこは理解していただきたい。では早速やっていこう。

環境構築に関しては以下の記事を参考にして構築した。(Windows)
※Macはわかりませんので各自で調べてください。
https://webkaru.net/clang/mingw-gcc-environments/

使用している書籍:C言語によるはじめてのアルゴリズム入門
著者:河西朝雄

ユークリッドの互除法

いつも通り詳しい解説は他の記事を参照してください。簡単に言うと最大公約数を求める手法です。

euclid.c
#include <stdio.h>

int main(void){
    int m,n,k;

    printf("2つの整数を入力:");

    // 標準入力 &が必要
    scanf("%d %d",&m,&n);

    do{
        k = m % n;
        m = n;
        n = k;
    }while(k!=0);

    printf("max_divisor:%d",m);

}

まとめ

標準入力をするときは「&」が必要で&がなくて挙動がおかしくなったので次からは気を付けたい。また、do~whileのところは関数にした方が保守性が高くなるのかなと思った。アドバイスがあったら是非コメントしていただきたいです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0