1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > c语言gcb最小公倍数 C编序编程题目:输入两个正整数m和n 求其最大公约数和最小公倍.

c语言gcb最小公倍数 C编序编程题目:输入两个正整数m和n 求其最大公约数和最小公倍.

时间:2020-08-21 06:19:02

相关推荐

c语言gcb最小公倍数 C编序编程题目:输入两个正整数m和n 求其最大公约数和最小公倍.

问题标题

C编序编程题目:输入两个正整数m和n,求其最大公约数和最小公倍...,C语言编程,输入两个正整数M和N(M

-3-27来自ip:15.121.164.188的网友咨询

浏览量:228手机版

问题补充:

C编序编程-题目:输入两个正整数m和n,求其最大公约数和最小公倍...,C语言编程,输入两个正整数M和N(M

网友答案

#include <stdio.h>main(){int a,b,m,n,temp;printf("Please input two numbers:\n");scanf("%d",&m);scanf("%d",&n);if(m<n){temp=m;m=n;n=temp;}a=m;b=n;while(b!=0){temp=a%b;a=b;b=temp;}printf("gongyueshu:%d\n",a);printf("gongbeishu:%d\n",n*m/a);} 辗转相除法:设两数为a、b(ba ÷ b,令r为所得余数0≤r若 r = 0,算法结束;b 即为答案。

最小公倍数=两数之积除以最大公约数。

网友答案

最大公约数:辗转相除法调整顺序使m>=n循环m=m%n; 如果m=0,则n为最大公约数,跳出循环。

注:%表示取余运算。

n=n%m; 如果n=0,则m为最大公约数,跳出循环。

next求出最大公约数G后,用m*n/G得到最小公倍数。

网友答案

#includevoid main(){int i,m,n,t;scanf("%d%d",&m,&n);if(m>n){t=m;m=n;n=t;}for(i=m;i>0;i--)if(m%i==0&n%i==0){printf("%d\n",i);break;}for(i=1;iif(n*i%m==0){printf("%d\n",n*i);break;}}

网友答案

#include int main() { int m, n; int m_cup, n_cup, res; /*被除数, 除数, 余数*/ printf("Enter two integer:\n"); scanf("%d %d", &m, &n); if (m > 0 && n >0) { m_cup = m; n_cup = n; res = m_cup % n_cup; while (res != 0) { m_cup = n_cup; n_cup = res; res = m_cup % n_cup; } printf("Greatest common divisor: %d\n", n_cup); printf("Lease common multiple : %d\n", m * n偿耽稗甘织仿半湿报溅 / n_cup); } else printf("Error!\n"); return 0; }

网友答案

#includeint gcd(int x,int y);int gdd(int x,int y);int gdd1(int x,int y);int gdd2(int x,int y);void main(){int a,b;printf"请输入两个整数A和B:";scanf("%d%d",&a,&b);if(a>b){printf"最大公约数是:%d\n",gcd(a,b));printf"最小公倍数是:%d\n",gdd(a,b));printf"最小公倍数是:%d\n",gdd1(a,b));printf"最小公倍数是:%d\n",gdd2(a,b));}else{printf"最大公约数是:%d\n",gcd(b,a));printf"最小公倍数是:%d\n",gdd(b,a));printf"最小公倍数是:%d\n",gdd1(b,a));printf"最小公倍数是:%d\n",gdd2(b,a));}}int gcd(int x,int y)//最大公约数{int i,sum=1;for(i=1;i{if(x%i==0&&y%i==0){x/=i;y/=i;sum*=i;i=1;}}return(sum);}int gdd(int x,int y)//最小公倍数法1{int i;i=x;while(i%x!=0||i%y!=0){i++;}return(i);}int gdd1(int x,int y)//最小公倍数法2{int i=y;while(y%x!=0){y+=i;}return(y);}int gdd2(int x,int y)//最小公倍数法3{int i,sum;i=gcd(x,y);sum=x/i*y;return(sum);}我用了3个函数来求最小公倍数,你编译的时候用1个就可以了。

网友答案

#include void main (){int m, n, p, q;printf "请输入整数m,n的值:\n";scanf ("%d, %d", &m, &n); p=m*n; while (n!=0){q=m%n;m=n;n=q; //这段是求最大公约数的算法}printf "最大公约数是%d\n", m;//上面的算法n=0时m这时的值就是最大公约数printf "最小公倍数是%d\n", p/m;//两数的积除以最大公约数就是最小公倍数了

网友答案

#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<q) { t=p; p=q; q=t; a=m(p,q); //调用一个函数 b=p*q/a ; //两个数的乘积等于它们最大公约数和最小公倍数的乘积 printf"最大公约数为:%d\n",a; printf"最小公倍数为:%d\n",b; } else { a=m(p,q); //同上 b=p*q/a; printf"最大公约数为:%d\n",a; printf"最小公倍数为:%d\n",b; } } //用辗转相除法求最大公约数 # include<math.h> int m(int x,int y) { int z; while(y!=0) { z=x%y; x=y; y=z; } return(x) ; }

网友答案

//最大公约数int gcb(int a, int b){ //保持a是更大的那个值,如果a0) { a = b; b = iTmp; iTmp = a % b; } return b;}//最小公倍数int lcm(int a, int b){ int max = a > b ? a : b; int temp = 0; //每次自增a,b中的最大值, while(temp += max, temp % a !=0 || temp % b !=0); return temp;}void main(){ int a,b; printf("please input two number\n"); scanf("%d%d",&a, &b); printf("%d和%d的最大公约数是:%d\n",a,b,gcb(a, b)); printf("%d和%d的最小公倍数是:%d\n",a,b,lcm(a, b));}

网友答案

#include #includevoid main(){ int m,n,i,j,mn,a,x,y; printf"请输入m,n\n"; scanf("%d%d",&m,&n); mn=m*n; a=(mfor (i=2;i{ if (m%i==0 && n%i==0) x=i; } printf("m和n的最大公约数是%d\n",x); for (j=mn;j>=((m>n)?m:n);j--) { if (j%m==0 && j%n==0) y=j; } printf("m和n的最小公倍数是%d\n",y); }

我来回答

验证码:

大家还关注

c语言gcb最小公倍数 C编序编程题目:输入两个正整数m和n 求其最大公约数和最小公倍... C语言编程 输入两个正整数M和N(MN) 计算M和N...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。