输入两个正整数m和n,求其最大公约数和最小公倍数。注:最大公约数也称最大公因子,指某几个整数共有因子中最大的一个;两个整数公有的倍数称为它们的公倍数,其中最小的一个正整数称为它们两个的最小公倍数。编程可用素材:printf("please input two integer numbers: ")、printf("\nthe greatest common divisor is …、printf("\nthe least common multiple is …。 程序的运行效果应类似地如图1所示,图1中的35 15是从键盘输入的内容。
输入两个正整数m和n,求其最大公约数和最小公倍数。
解:程序:
#include <stdio.h>
int main()
{
int num1, num2, t,p;
printf("请输入两个正整数:");
scanf("%d,%d", &num1, &num2);//7,8
p = num1*num2;
while (t = num1%num2)//7 1 0,循环结束
{
num1 = num2; //8 7
num2 = t; //7,循环继续 1
}
p = p / num2;
printf("它们的最大公约数:%d\n", num2);
printf("它们的最小公倍数:%d\n", p);
return 0;
}
结果:
请输入两个正整数:3,6
它们的最大公约数:3
它们的最小公倍数:6
扩展资料:
C语言编写注意事项:
1、每个程序中一定包含main()函数,尽管C语言中对函数命名没有限制。
2、printf函数永远不会自动换行,只能用\n来实现,回车键进行的换行在编译中会出现错误信息。
3、在vs2008中编译,测试需要加 system("pause");来暂停dos自动退出导致的printf无法显示。
4、每行只书写一条语句,在运算符两边加上一个空格,便于阅读。
解:
#include <stdio.h>
int main()
{
int num1, num2, t,p;
printf("请输入两个正整数:");
scanf("%d,%d", &num1, &num2);//7,8
p = num1*num2;
while (t = num1%num2)//7 1 0,循环结束
{
num1 = num2; //8 7
num2 = t; //7,循环继续 1
}
p = p / num2;
printf("它们的最大公约数:%d\n", num2);
printf("它们的最小公倍数:%d\n", p);
return 0;
}
结果:
请输入两个正整数:3,6
它们的最大公约数:3
它们的最小公倍数:6
请按任意键继续. . .
扩展资料
公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为[a,b,c],多个整数的最小公倍数也有同样的记号。
与最小公倍数相对应的概念是最大公约数,a,b的最大公约数记为(a,b)。关于最小公倍数与最大公约数,我们有这样的定理:(a,b)x[a,b]=ab(a,b均为整数)。
本回答被网友采纳