C语言用函数求两个数的最大公因数和最小公倍数
发布网友
发布时间:2022-05-09 19:58
我来回答
共4个回答
热心网友
时间:2023-10-16 12:46
#include<stdio.h>
intfun(intm,intn);
intfun1(intm,intn);
voidmain(){
intm,n;
do{
scanf("%d%d",&m,&n);
}while(m<=0||n<=0);
printf("%d,%d最大公约数是%d\n",m,n,fun(m,n));
printf("%d,%d最小公倍数是%d\n",m,n,fun1(m,n));
}
intfun(intm,intn){
intr,t;
if(m<n){
t=m;m=n;n=t;
}
while(n!=0){//辗转相除法
r=m%n;
m=n;
n=r;
}
returnm;
}
intfun1(intm,intn){//暴力破解法
intresult;
for(result=1;;result++){
if(result%m==0&&result%n==0){
break;
}
}
returnresult;
}
扩展资料
c语言求两个整数的最大公约数
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inttmp,a,b;
printf("请输入两个整数:\n");
scanf("%d%d",&a,&b);
while(a%b!=0)
{
tmp=a%b;//取余
a=b;//交换a,b可避免a比b小
b=tmp;
}
printf("%d\n",b);
return0;
}
热心网友
时间:2023-10-16 12:46
定义一个求GCD的函数或求LCM的函数,利用它们的关系在主函数中直接输出另一个的结果。举例如下:
#include "stdio.h"
int mylcm(int a,int b){
int t;
for(t=a;t%b;t+=a);
return t;
}
int main(int argc,char *argv[]){
int a,b,t;
printf("Please enter a & b(int a,b>0)...\n");
if(scanf("%d%d",&a,&b)!=2 || a<1 || b<1){//限>0,否则退出
printf("Input error, exit...\n");
return 0;
}
printf("The GCD of %d & %d is %d\n",a,b,(t=mylcm(a,b))/(a<b ? a : b));
printf("The LCM of %d & %d is %d\n",a,b,t);
return 0;
}
热心网友
时间:2023-10-16 12:47
着 代码能出结果?
a,b;
temp=a%b;
while(temp){
a=b;
b=temp;
temp=a%/b;
}
热心网友
时间:2023-10-16 12:48
若被调函数返回temp,也就是0,0是不能做除数的
C语言用函数求两个数的最大公因数和最小公倍数
include<stdio.h> intfun(intm,intn);intfun1(intm,intn);voidmain(){ intm,n;do{ scanf("%d%d",&m,&n);}while(m<=0||n<=0);printf("%d,%d最大公约数是%d\n",m,n,fun(m,n));printf("%d,%d最小公倍数是%d\n",m,n,fun1(m,n));} intfun(intm,intn){ intr,t;...
C语言中求两个数的最大公因数,最小公倍数
最大公约数等于m1,等于1。
...求出任意给定的两个整数的最大公约数和最小公倍数,
include<stdio.h>int fMaxMin(int a,int b,int *c){int r; *c=a*b; while(r=a%b) {a=b; b=r; } *c/=b; return a;}int main(){int a,b,c; scanf("%d%d",&a,&b); printf("最大公因数=%d\n",fMaxMin(a,b,&c)); printf("最小公倍数=%d\n",c); return...
...个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两...
printf("最大公约数是:%d\n最小公倍数是:%d\n",q,p);}
c语言中m、 n的最大公因数是多少?
输入两个正整数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 = num...
C语言中用两个函数求最大公约数和最小公倍数,用主函数调用这两个函数...
先编写好最大公约数和最小公倍数的函数,如下:intgcd(inta,b)//求最大公约数函数{if(a%b==0)returnb;elsereturngcd(b,a%b);//辗转相除法}intlcm(inta,b)//求最小公约数函数{intx;x:=gcd(a,b);//调用gcd()函数returna
C语言中如何调用函数求最大公约数和最小公倍数
最小公倍数的公式是 a*b/m m为最大公约数 因为 a=m*i; b=m*j;最小公倍数为 m*i*j 那么,下面就开始计算a和b的最大公约数。更相损减法:《九章算术·方田》作分数约简时,提到求最大公因数方法:反覆把两数的较大者减去较小者,直至两数相等,这数就是最大公因数。这方法除了把...
c语言,求两个非负整数的最大公约数和最小公倍数
两个整数的最大公因子可用于计算两数的最小公倍数,或分数化简成最简分数。两个整数的最大公因子和最小公倍数中存在分配律:gcd(a, lcm(b, c)) = lcm(gcd(a, b), gcd(a, c))lcm(a, gcd(b, c)) = gcd(lcm(a, b), lcm(a, c))在坐标里,将点(0, 0)和(a, b)连起来,...
c语言如何求最大公约数和最小公倍数
include <stdio.h> int main(){ int a,b,c,m,t;printf("请输入两个数:\n");scanf("%d%d",&a,&b);if(a
用c语言编程输入两个整数,求其最大公约数和最小公倍数
include"stdio.h"main(){ int m,n,t,h,a,b,q;printf("输入m,n的值:");scanf("%d%d",&m,&n);a=m;b=n;if (n>m) {t=m;m=n;n=t;}while (m%n!=0){ h=n;n=m%n;m=n;}a=a/n;b=b/n;q=a*b*n;printf("两数最大公约数为 %d,最小公倍数为 %d\n",n...