c语言gcb最小公倍数,C编序编程题目:输入两个正整数m和n,求其最大公约数和最小公倍...,C语言编程,输入两个正整数M和N(MN),计算M和N...
问题标题
C编序编程题目:输入两个正整数m和n,求其最大公约数和最小公倍...,C语言编程,输入两个正整数M和N(M
2019-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...相关推荐
- C语言学习之输入两个正整数m和n,求其最大公约数和最小公倍数。
输入两个正整数m和n,求其最大公约数和最小公倍数. #include <stdio.h> void main(){int m,n,temp,p,r;printf("请输入两个正整 ...
- python输入两个正整数m和n用for循环求其最大公约数_输入两个正整数,m和n,求其最大公约数和最小公倍数。...
1. 输入两个正整数, m 和 n ,求其最大公约数和最小公倍数. 2. 输入一行字符,分别统计出其中字母.空格.数字和其他字符的个数. 3. 输入一个正整数求出它是几位数:输出原数和位数. 4. 输 ...
- C语言_算法_输入两个正整数m和n,求其最大公约数与最小公倍数
(1)方式一:碾转相除法 #include <stdio.h> #include <math.h> /*输入两个数,求最大公约数 与最小公倍数分析关系:最小公倍数=两数的积/最 ...
- C语言输人两个正整数m和n,求其最大公约数和最小公倍数
#include <stdio.h> int main() {int p, r, n, m, temp;printf("请输入两个正整数n,m:");scanf(&qu ...
- PTA 基础编程题目集 7-11 分段计算居民水费 C语言
PTA 基础编程题目集 7-11 分段计算居民水费 C语言 为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3:超 ...
- PTA 基础编程题目集 6-8 简单阶乘计算 C语言
PTA 基础编程题目集 6-8 简单阶乘计算 C语言 本题要求实现一个计算非负整数阶乘的简单函数. 函数接口定义: int Factorial( const int N ); 其中N是用户传入的参数, ...
- C语言编程>第一周 ⑧ 输入两个正整数m和n,求其最大公约数和最小公倍数。
例题:输入两个正整数m和n,求其最大公约数和最小公倍数. 代码如下: /*程序分析:利用辗除法.*/ #include"stdio.h" main() {int a,b,num1, ...
- c语言数学语文英语成绩编程,输入10名学生的序号和每个学生三门功课(数学、英语、C语言程序设计)的成绩,编程计算出每个学生的总分...
输入10名学生的序号和每个学生三门功课(数学.英语.C语言程序设计)的成绩,编程计算出每个学生的总分和平均分,并按学生成绩优劣排序,且打印一张按高分到低分名次排序的成绩单.然后用折半查找法查找有没有平 ...
- c语言这样计算一个厄数的位数,c语言编程 题目和答案.doc
郁却勤弱新催修对箱戊篷进约纳沂强翘锅瀑碟邦铃喝敛滋说尼荆培患潮迸侮沉婪撞祈香累讼牙旅文絮炒眶捡绎膝滞姜捂奈殊愚洒半妈踢膳直捍雪鱼助悦纱舵卿液太笆韧友扩船雷陌以尤蛆往头弘摄贰新蜀缝让该捡鸯乍听樱猩岁睛堂 ...
最新文章
- pdo mysql.so不存在_PHP致命错误:找不到类’PDO’
- 如何解决盗版Windows问题
- 项目既有vue又有html,01-vue指令
- 工具 - MyEclipse算法机最新8.6forSpring有效
- SpringBoot学习笔记:Spring Data Jpa的使用
- html纵向文本,html – 垂直对齐CSS圈中多行的文本
- python中包的循环导入_具有继承的包中的循环导入依赖项
- 【研究任务】linux系统开机启动过程
- ABAP Pattern usage - define own custom user exit
- 新鲜高频笔面试题分享,Redis、MongoDB、ElasticSearch...
- android 获取当前网络,Android 获取当前网络连接的类型信息
- inux系统中如何进入退出vim编辑器
- pd对焦速度_捕捉爆炸瞬间!魅蓝Note6双PD对焦速度逆天
- FFmpeg的H.264解码器源代码简单分析:概述
- 10分钟体验一把Kafka[测试用例]
- 魅族Android版本,魅族Flyme安卓版本
- PRD之道:活用Axure快速撰写轻便的需求文档
- vue使用bulma
- Windows 7专业版安装VS2005与WinCE6.0开发环境
- iOS依赖注入框架系列(一):介绍Typhoon
热门文章
- 拍图识字怎么弄?这个方法需要掌握
- 从根源上看屏幕点击事件是如何传递到View中的(上)-事件获取
- Flume简介及Flume部署、原理和使用介绍
- numpy 实现mask叠加原图
- css定位的百分比的算法,css定位中的百分比
- 马志强:语音识别技术研究进展和应用落地分享丨RTC Dev Meetup
- selenium操作表单元素
- 方维团购系统,代金券序列号的生成规则
- 实现拼写检查器(spell check)
- Android错误之(Android 6.0)Unable to add window android.view.ViewRootImpl$W@d4521e8 -- permission denied