首页 > 代码库 > TOJ1164: 最大公因子
TOJ1164: 最大公因子
1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 5 int fun(int m, int n) 6 { 7 int max_commondivisor; 8 int m1 = max(m, n), n1 = min(m,n); 9 int r = m1%n1; 10 while (1) 11 { 12 if (r == 0) 13 { 14 max_commondivisor = n1; break; 15 } 16 else 17 { 18 m1 = n1; 19 n1 = r; 20 r = m1%n1; 21 } 22 } 23 return max_commondivisor; 24 } 25 26 int main() 27 { 28 int m,n; 29 while (cin >> m>>n, m||n) 30 { 31 cout <<fun(m,n)<< endl; 32 } 33 return 0; 34 }
大数取余小数,小数取代大数,余数取代小数,直到余数取为0,最大公因子即为此时的小数。
TOJ1164: 最大公因子
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。