公倍数的计算方法:两个数相乘再除以公约数。
方法一:
知识点:学习使用if和while语句
#include<stdio.h>
#include<Windows.h>
#include<time.h>
#include<stdlib.h>
void main()
{
int a,b,num1,num2,temp;
printf("please input a number:\n");
scanf("%d%d",&num1,&num2);
if(num1>num2)
{
temp=num1;
num1=num2;
num2=temp;
}
a=num1;
b=num2;//a为较大值,b为较小值,便于下面a%b计算
while(b!=0)
{
temp=a%b;
a=b;
b=temp;
}
printf("最大公约数:%d\n",a);
printf("最小公倍数:%d\n",num1*num2/a);
system("pause");
}
方法二:
知识点:学习使用函数调用和嵌套调用。
#include<stdio.h>
#include<Windows.h>
int gongyueshu(int a,int b)
{
int t;
if(a>b)
{
t=a;
a=b;
b=a;
}
while(b!=0)
{
t=a%b;
a=b;
b=t;
}
return(a);
}
int gongbeishu(int a,int b)
{
return(a*b/gongyueshu(a,b));//调用公约数
}
void main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",gongyueshu(a,b));
printf("%d\n",gongbeishu(a,b));
system("pause");
}
输出结果: