[問題] 非遞迴GCD

看板C_and_CPP (C/C++)作者 (fk)時間16年前 (2009/01/29 16:11), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
我自己是用C語言寫的, 程式只有幾行, 看不出錯在哪,只要一跑就掛掉 是迴圈的問題嗎? ------------------------------------ #include <stdio.h> #include <stdlib.h> int gcd(int, int); int main(int argc, char *argv[]) { int k = gcd(12, 8); printf("%d\n", k); system("PAUSE"); return 0; } int gcd(int m, int n) { if( m >= n) { while(m%n != 0) { m = n; n = m % n; } return(n); } else { while(n%m != 0) { n = m; m = n % m; } return(m); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.123.0.94

01/29 16:15, , 1F
m=n再m%n不就變成n%n 回到迴圈條件就除以零runtime error
01/29 16:15, 1F
文章代碼(AID): #19WMJ6WL (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
1
1
文章代碼(AID): #19WMJ6WL (C_and_CPP)