#include<stdio.h>
#include<stdlib.h>
//计算最大公约数 方法1
int commondivisor(int a, int b)
{
int s,max=0;
s = a > b ? b : a;//返回较小值
for (int i = 2; i <= s; i++)
{
if (a%i==0&&b%i==0)//当a和b能同时整除i时,判断i是不是公约数中最大的。
{
max = max > i ? max : i;
}
}
if (max==0)//当a和b不能同时整除i时,则返回最大公约数为1
return 1;
else return max;
}
//计算最小公倍数 c为最大公约数 最小公倍数=a * b / c
int commonmultiple(int a,int b,int c)
{
a /= c;
b /= c;
return a * b * c;
}
int main()
{
int cd,cm,a,b;
while (1)
{
printf("方法1:\n");
printf("请输入两个整数:");
scanf("%d %d", &a, &b);//从键盘上读取两个个值
cd = commondivisor(a, b);//求最大公约数
cm = commonmultiple(a, b, cd);//求最小公倍数
printf("%d 和 %d 的最大公约数为: %d\n", a, b, cd);//输出显示
printf("%d 和 %d 的最小公倍数为: %d\n"
闲话不多说,直接写代码。方法1#include<stdio.h>#include<stdlib.h>//计算最大公约数 方法1int commondivisor(int a, int b){ int s,max=0; s = a > b ? b : a;//返回较小值 for (int i = 2; i <= s; i++) { if (a%i==0&&b%i==0)//当a和b能同时整除i时,判断i是不是公约数中最大的。.