C语言用函数求公约公倍数 c语言求公倍数和公因数
C语言中如何调用函数求最大公约数和最小公倍数?
#includelt;stdio.hgt;
创新互联公司于2013年创立,是专业互联网技术服务公司,拥有项目成都做网站、成都网站建设、成都外贸网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元蔚县做网站,已为上家服务,为蔚县各地企业和个人服务,联系电话:18982081108
int a;
int _Y(int x,int y);
int main()
{
int a,b,c,d;
printf(“请输入数字:”);
scanf("%d,%d",c,d);//此处注意在输出的时候数字之间要打都好,不然输出结果错误
b=_Y(c,d);
a=c*d/b;
printf(“最大公约数为:%d\n”,b);
printf(“最小公倍数为:%d\n”,a);
return 0;
}
int _Y(int x,int y)
{
int e;
if(xlt;y)
{
e=x;
x=y;
y=e;
}
while((e=x%y)!=0)
{
x=y;
y=e;
}
return(y);
}
扩展资料:
while循环开始后,先判断条件是否满足,如果满足就执行循环体内的语句,执行完毕后再回来判断条件是否满足,如此无限重复;直到条件不满足时,执行while循环后边的语句。简单来讲就是说while循环是先判断后循环, 判断如果满足条件进入循环 本次循环后再次判断 。
举个例子:
do-while循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。因此, do-while循环至少要执行一次循环语句。 简单来讲就是说while循环是先循环后判断 。
举个例子:
总结:while循环是先判断后循环 ,而do–while循环是先循环后判断。
参考资料:
百度百科——while(循环语句及英文单词)
c语言求公约公倍数
#include stdio.h
long long int gongyue(long long int m,long long int n){
long long int c;
if(m2 || n2) return 44;
if(mn){
c=m%n;
while(c0){
m=n;
n=c;
c=m % n;
}
}
else{
c=n % m;
while(c0){
n=m;
m=c;
c=n % m;
}
}
m=n;
return m;
}
long long int gongbei(long long int m,long long int n){
return m/gongyue(m,n)*n;
}
int main(){
long long int a,b,c,m,n;
printf("请输两个正整数a,b:");
scanf("%lld%lld",a,b);
m=gongyue(a,b);
n=gongbei(a,b);
printf("最大公约数%lld,最小公倍数%lld\n",m,n);
return 0;
}
c语言求最大公约数和最小公倍数
c语言求最大公约数和最小公倍数,回答如下:
在做C语言相关练习的时候,会遇见比较经典的一道题型,就是求最大公约数或者最小公倍数。那么先普及一下什么是最大公约数和最大公倍数:
最大公约数:指能够整除多个整数的最大正整数。例如8和12的最大公约数为4。
最小公倍数:两个或多个整数最小的公共倍数。例如6和24的最小公倍数为24。
1.暴力求解
以求最大公约数为例,若求 a b 的最大公约数,所求的数最大不会超过两个数中较小的数。那可以从这个较小的数开始被a b同时试除,如果试除的余数为0,那么该数即为所求。如果不满足余数同时为零的条件,那么该数减一,接着试除,直到满足余数同时为零的条件为止。
2.辗转相除法
辗转相除法是用来求最大公约数的,同时最小公倍数满足这样一条数学性质:两数之积除以最大公约数即为最小公倍数.所以用辗转相除法是可以间接求最小公倍数的。
辗转相除法的大概思路:用两数相除,如果余数为零即为所求,如果余数不为零,上一轮相除所得的余数为除数,同时上一轮的除数现在成为被除数,直到余数为零不再相除,此时的除数即为所求。
C语言中 用函数调用求最大公约数和最小公倍数
#includestdio.h
int gcd(int m, int n);
int lcd(int m, int n);
int main()
{
int a, b;
printf("输入两个正整数:");
scanf("%d%d", a, b);
printf("%d 和 %d 最大公约数为%d\n", a, b, gcd(a, b));
printf("最小公倍数为:%d\n", lcd(a, b));
}
int gcd(int m, int n)
{
int t;
if (mn)
{
t = m;
m = n;
n = t;
}
while (n != 0)
{
t = m%n;
m = n;
n = t;
}
return m;
}
int lcd(int m, int n)
{
int t;
t = m*n / gcd(m, n);
return t;
}
文章标题:C语言用函数求公约公倍数 c语言求公倍数和公因数
标题路径:http://hbruida.cn/article/doeecds.html