现在的位置: 首页 > 综合 > 正文

求两个正整数的最大公约数(GCD)

2013年08月03日 ⁄ 综合 ⁄ 共 304字 ⁄ 字号 评论关闭

#include <stdio.h>

void swap(int *m, int *n)
{
 int temp = 0;

 temp = *m;
 *m = *n;
 *n = temp;
}

int GCD(int m, int n)
{
 int r;

 if (m < n)
 {
  swap(&m, &n);
 }

 while (r = m % n)
 {  
  m = n;
  n = r; 
 }

 return n;
}

int main(void)
{
 int m = 0, n = 0;

 printf("Input two positive integer:");
 
 scanf("%d%d", &m, &n);

 n = GCD(m,n);
   
 printf("The GCD is %d\n", n);

 return 0;
}

 

抱歉!评论已关闭.