学校の課題で、再帰関数とユークリッドの互除法を用いて10~100000までの最大公約数を求めるという問題が出て自分でプログラムを作ってみたのですが無限ループに入ったり、関数が使えてないみたいでできません。プログラムを見て頂いて、どこを改善したらいいかを教えてください。
#include <stdio.h>
/* 正整数 n, m の最大公約数を計算する */
int gcd(int n, int m) {
int res;
res = n % m;
if (res == 0)
return m; /* 最大公約数が求まった */
return gcd(m, res); /* 再帰呼び出し */
}
int main(void) {
int i,j;
for(i=10000;i>=10;i--){
for(j=10;j=10000;j++){
printf("%d to %d no saidaikouyakusuu ha %d \n", i, j, gcd(i, j));
}
}
return (0);
}
です。期限が今日の夜までで、ぎりぎりなんですがよろしくお願いします。
お礼
回答ありがとうございます。 直したらちゃんと動きました。