看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《herchen (fk)》之銘言: : int gcd(int m, int n) : { : if( m >= n) : { : while(m%n != 0) : { : m = n; ^然後m就跟n一樣了 : n = m % n; ^所以這裡n會變成0 ^於是再迴圈到上面的時候就發成了除以0的錯誤 可以再多設一個暫時變數來解決問題 譬如說 t = m%n; m = n; n = t; : } : return(n); : } : else : { : while(n%m != 0) : { 這邊也是 : n = m; : m = n % m; : } : return(m); : } : } 其實不用分兩邊判斷 :) 他會自己交換 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.137.68.73
herchen:原來如此 3Q^^ 01/29 22:23