码迷,mamicode.com
首页 > 其他好文 > 详细

求两个整数的最大公约数

时间:2014-11-24 22:24:19      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   sp   div   2014   log   

《C和指针》第7章第2道编程题:

两个整型值M和N(M、N均大于0)的最大公约数可以按照下面的方法计算:

bubuko.com,布布扣

请编写一个名叫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,函数返回0
21 */
22 int 
23 gcd( int M, int N )
24 {
25     int R, t;
26     
27     /*
28     ** 如果M,N任一个数不大于0,函数返回0
29     */
30     if( M <= 0 || N <= 0 )
31         return 0;
32     
33     /*
34     ** 保证M>=N
35     */
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 }

 

求两个整数的最大公约数

标签:style   blog   http   io   color   sp   div   2014   log   

原文地址:http://www.cnblogs.com/zouhongmey/p/4119619.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!