問題描述
編寫一函數lcm,求兩個正整數的最小公倍數。
樣例輸入
一個滿足題目要求的輸入范例。
例:
3 5
例:
3 5
樣例輸出
與上面的樣例輸入對應的輸出。
例:
例:
數據規模和約定
輸入數據中每一個數的范圍。
例:兩個數都小於65536。
例:兩個數都小於65536。
代碼一:相減法求最大公約數。
最小公倍數=兩整數的乘積 ÷最大公約數
1 #include<stdio.h> 2 int main(){ 3 int m,n,a,b,c; 4 scanf("%d%d",&m,&n); 5 a=m; 6 b=n; 7 while(a!=b){ 8 if(a>b){ 9 a = a-b; 10 } else { 11 b = b-a; 12 } 13 } 14 printf("最大公約數是a or b,即:%d",a); 15 printf("最小公倍數是m*n/b,即:%d",m*n/a); 16 }
代碼二:
1 #include<stdio.h> 2 int main(){ 3 int m,n,a,b,c; 4 scanf("%d%d",&m,&n); 5 a=m; 6 b=n; 7 while(b!=0){ 8 c=a%b; 9 a=b; 10 b=c; 11 } 12 printf("%d",m*n/a); 13 }
