输入两个正整数,求其最大公约数和最小公倍数。
输入两个正整数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
", num2);
printf("它们的最小公倍数:%d
", p);
return 0;
}
结果:
请输入两个正整数:3,6
它们的最大公约数:3
它们的最小公倍数:6
扩展资料:
C语言编写注意事项:
1、每个程序中一定包含main()函数,尽管C语言中对函数命名没有限制。
2、printf函数永远不会自动换行,只能用
来实现,回车键进行的换行在编译中会出现错误信息。
3、在vs2008中编译,测试需要加 system("pause");来暂停dos自动退出导致的printf无法显示。
4、每行只书写一条语句,在运算符两边加上一个空格,便于阅读。
[C语言]编程:输入两个正整数,求其最大公约数和最小公倍数
include<stdio.h> int main(){ int m, n;int gcd, lcm;scanf("%d%d", &m, &n);gcd = m < n ? m : n;lcm = m > n ? m : n;do { if(m % gcd == 0 && n%gcd==0)break;gcd--;}while(1);do { if(lcm % m == 0 && lcm % n==0)break;lcm++;}while(1)...
.输入两个正整数m和n,求其最大公约数和最小公倍数。
第五次:用15除30,商2余0。1515和600的最大公约数是15。两个正整数的最小公倍数=两个数的乘积÷两个数的最大公约数 由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。这就是说,求两个数的最小公倍数,可以先求出两个数的最大公约数,再用这两个数的最大公约数去除这两...
输入两个正整数M和N,求其最大公约数和最小公倍数.
include<stdio.h> void main(){ int m(int x,int y);int a,b,t,p,q;printf("请输入两个正整数:\\n");scanf("%d,%d",&p,&q);if (p==q){ printf("最大公约数和最小公倍数均为:%d\\n",p);} else if(p
C语言 编程实现输入两个正整数,求其最大公约数和最小公倍数。
include<stdio.h>\/\/最大公约数int gcd(int a,int b){ if (a > b) { a^=b;b^=a;a^=b; } return a > 0 ? gcd (b % a, a) : b;}\/\/最小公倍数int lcm(int a, int b){ int i; if (a > b) { a^=b;b^=a;a^=b; } for ...
C语言题:输入两个正整数M,N求其最大公约数与最小公倍数,用一个循环结构...
include <stdio.h>#include <conio.h>\/* 辗转相除法求最大公约数 *\/int gcd (int m, int n) {if (n)while((m %= n) && (n %= m)); \/* 两数反复相除取余,直至被整除 *\/return m+n;}int lcm (int m, int n) {return m * n \/ gcd (m, n);}int main (void) {...
编写函数:输入两个正整数m,n,求它们的最大公约数和最小公倍数
include<stdio.h> include<math.h> int fun_y(int,int);int fun_b(int,int);main(){ int a,b,gy,gb;printf("输入两个整数:\\n");scanf("%d%d",&a,&b);gy=fun_y(a,b);gb=fun_b(a,b);printf("最大公约数是:%d\\n最小公倍数是:%d\\n",gy,gb);} int fun_y(int x,...
输入两个正整数m和n,求其最大公约数和最小公倍数
int temp = Math.Max(n1, n2);n2 = Math.Min(n1, n2);\/\/n2中存放两个数中最小的 n1 = temp;\/\/n1中存放两个数中最大的 while(n2!=0){ n1 = n1 > n2 ? n1 : n2;\/\/使n1中的数大于n2中的数 int m=n1 % n2;n1 = n2;n2 = m;} System.out.println(n1);\/\/最大公约数 ...
输入两个正整数m和n 求其最大公约数和最小公倍数
求最小公倍数直接用最原始的数相乘,然后除上最大公约数就可以了 所以程序可以修改如下 include<stdio.h> main(){ int m,n,r=0,s,w=0;scanf("%d,%d",&m,&n);r=m%n;w=m*n;{ while(r){ m=n;n=r;r=m%n;} printf("最大公约数为:%d",n);}\/\/求最大公约数 printf("最...
输入两个正整数,求出它们的最大公约数与最小公倍数。
m = a < b ? a : b;for(int i = m; i >= 1; i--)if(a % i == 0 && b % i == 0) { d = i;break;} m = a > b ? a : b;for(int i = m; i <= a * b; i++)if(i % a == 0 && i % b == 0) { c = i;break;} printf("最大公约数:%d\\...
C语言编程:输入两个正整数,输出其中最大公约数和最小公倍数。
include<stdio.h> int main(){ int a,b,num1,num2,temp;printf("please input two number:\\n");scanf("%d%d",&num1,&num2);if(num1<num2){ temp = num1;num1 = num2;num2 = temp;} a = num1;b = num2;while(b!=0){ \/*利用辗除法,直到b为0为止*\/ temp = a%b...