プロが教えるわが家の防犯対策術!

学校の課題で、再帰関数とユークリッドの互除法を用いて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);
}

です。期限が今日の夜までで、ぎりぎりなんですがよろしくお願いします。

A 回答 (1件)

未検証


>for(j=10;j=10000;j++){
少なくとも真ん中の条件の=は誤り。それ以外に思いつくミスは特にない
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

直したらちゃんと動きました。

お礼日時:2009/05/22 11:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!