求两个数的最大公约数和最小公倍数
最大公约数
1 #include<stdio.h>
2 int main()
3 {
4 int x=6 , y=24 ; //随机取两个数
5 int i ;
6 int divisor = 0 ; //公约数初值为0
7 for( i = 2; i <= x && i<= y ; i++) //因为是求公约数,所以要去除0和1,从2开始循环,同时公约数不能大于x和y
8 {
9 if(x%i==0 && y%i==0) //判断x和y是否能整除i
10 {
11 while(divisor<i) //如果判断成立,则寻找最大公约数
12 {
13 divisor = i; // 取最大公约数
14 }
15 }
16 }
17 printf("最大公约数 = %d\n",divisor);
18 return 0;
19 }
最小公倍数
1 #include<stdio.h>
2 int main()
3 {
4 int i ;
5 int x=25 , y=500 ; //随取两个变量做因子
6 int mul = x*y; //他们通分最大公倍数
7 for(i=x*y;i>=x && i>=y;i--) //从最大通分公倍数开始向下取值
8 {
9 if(i%x==0 && i%y==0) //判断是否是他们的公倍数
10 {
11 if(mul>i) //判断是否是最小
12 {
13 mul = i; //取最小
14 }
15 }
16 }
17 printf("最小公倍数 = %d\n",mul);
18 return 0;
19 }