首页 > 代码库 > 求两个整数的最大公约数
求两个整数的最大公约数
《C和指针》第7章第2道编程题:
两个整型值M和N(M、N均大于0)的最大公约数可以按照下面的方法计算:
请编写一个名叫gcd的函数,它接受两个整型参数,并返回这两个数的最大公约数。如果这两个参数中的任何一个不大于零,函数返回零。
1 /* 2 ** 求两个整数的最大公约数 3 */ 4 5 #include <stdio.h> 6 7 int gcd( int M, int N ); 8 9 int 10 main()11 {12 int m, n;13 scanf( "%d%d", &m, &n );14 printf( "%d", gcd( m, n ) );15 return 0;16 }17 18 /*19 ** 求两个整数的最大公约数20 ** 如果两个参数中任一个数不大于0,函数返回021 */22 int 23 gcd( int M, int N )24 {25 int R, t;26 27 /*28 ** 如果M,N任一个数不大于0,函数返回029 */30 if( M <= 0 || N <= 0 )31 return 0;32 33 /*34 ** 保证M>=N35 */36 if( M < N )37 { 38 t = M;39 M = N;40 N = t;41 }42 43 /*44 ** 求最大公约数45 */46 while( ( R = M % N ) > 0 )47 {48 M = N;49 N = R;50 }51 52 return N;53 }
求两个整数的最大公约数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。