其算法过程为:前提:设两数为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; }
时间: 2024-11-10 12:07:29