c 求两个整数的最大公约数和最小公倍数

//求最大公约数是用辗转相除法,最小公倍数是根据公式   m,n 的 最大公约数* m,n最小公倍数 = m*n 来计算 
#include<stdio.h> //将两个整数升序排列 void ascNum(int *p1,int *p2) { int temp; if(*p1 > *p2) { temp = *p2; *p2 = *p1; *p1 = temp; } } //求两个整数的最大公约数 辗转相除法 int getAppr(int a, int b) { int c; ascNum(&a,&b); do { c = b%a; b = a; a = c; }while(c!= 0); return b; } int main(void) { int m,n,maxAppr,minComm; scanf("%d%d",&m,&n); maxAppr = getAppr(m,n); minComm = m*n/maxAppr; printf("最大公约数%d,最小公倍数%d\n",maxAppr,minComm); return 0; }

 

posted @ 2015-04-04 16:55  林海云  阅读(699)  评论(0编辑  收藏  举报