1.最大公约数 30 10 -> 10
1 #include<stdio.h> 2 /* 3 求最大公约数 4 辗转相减法 5 36 --16 6 4 7 */ 8 int main(){ 9 int a,b; 10 printf("input !"); 11 scanf("%d,%d",&a,&b); 12 while(a!=b){ 13 while(a>b) a-=b; 14 while(a<b)b-=a; 15 } 16 printf("%d",a); 17 return 1; 18 }
2.最小公倍数
30 10 ->30
1 #include <stdio.h> 2 int main() 3 { 4 int n1, n2, minMultiple; 5 printf("输入两个正整数: "); 6 scanf("%d %d", &n1, &n2); 7 // 判断两数较大的值,并赋值给 minMultiple 8 minMultiple = (n1>n2) ? n1 : n2; 9 // 条件为 true 10 while(1) 11 { 12 if( minMultiple%n1==0 && minMultiple%n2==0 ) 13 { 14 printf("%d 和 %d 的最小公倍数为 %d", n1, n2,minMultiple); 15 break; 16 } 17 ++minMultiple; 18 } 19 return 0; 20 }