C语言求最大公约数和最小公倍数算法
其算法过程为:前提:设两数为a,b设其中a 做被除数,b做除数,temp为余数
1、大数放a中、小数放b中;
2、求a/b的余数;
3、若temp=0则b为最大公约数;
4、如果temp!=0则把b的值给a、temp的值给b;
5、返回第第二步;
#include <stdio.h> #include <math.h> void main(){ int divisor(int a,int b); int multiple(int a,int b); printf("The highest common divisor is %d \n",divisor(15,9)); printf("The lowest common multiple is %d \n",multiple(15,9)); } int divisor(int a,int b){ int temp; if(a<b){ temp=a;a=b;b=temp; } while(b!=0) { temp = a%b; a=b; b=temp; } return (a); } int multiple(int a,int b){ int divisor(int x,int y); int temp; temp = divisor(a,b); return a*b/temp; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。