c语言求最大公约数c语言如何求最小公倍数和最大公约数
c语言求最大公约数 时间:2021-07-30 阅读:(
)
C语言中 用函数调用求最大公约数和最小公倍数
#include <stdio.h>
/*求最大公约数和最小公倍数*/
int f(int m,int n)
{
int c;
while(n > 0)
{
c=m%n;
m = n;
n = c;
}
return (m);
}
/*
//求最大公约数和最小公倍数
//递归求最小公倍数
int f(int m,int n)
{
return (n >0)? f(m,m%n):m;
}
*/
int main(void)
{
int m,n,a;
int f(int m,int n);
printf("please input two numbles:");
scanf("%d,%d",&m,&n);
printf("the max is %d
",f(m,n));//最大公约数
printf("the min is %d
",m*n/f(m,n));//最小公倍数
system ("pause");
return 0;
}
参照了百度的gcd,即碾转相除法,是欧几里得的几何原本中的。
用C语言编写一个可以求输入的两个数的最大公约数和最小公倍数的程序。
#include
void main()
{
int m,n,k,min,max,i;
scanf("%d%d",&m,&n);
if(n0;i++)
{
if((m%i==0)&(n%i==0))
{
max=i;
break;
}
}
min=m*n/max;
printf("%d和%d的最大公约数是%d
",m,n,max);
printf("%d和%d的最小公倍数是%d
",m,n,min);
}
这个是我的程序,其中利用了最小公倍数是两个数的乘积除以最大公倍数,希望能够帮到你。
c语言如何求最小公倍数和最大公约数
解题步骤:
1、求最大公约数
对两个正整数a,b如果能在区间[a,0]或[b,0]内能找到一个整数temp能同时被a和b所整除,则temp即为最大公约数。
2、求最小公倍数
对两个正整数a,b,如果若干个a之和或b之和能被b所整除或能被a所整除,则该和数即为所求的最小公倍数。
//穷举法求两数的最大公约数
int divisor(int a,int b)
{
int temp;//定义义整型变量
temp=(a>b)?b:a;//采种条件运算表达式求出两个数中的最小值
while(temp>0){
if(a%temp==0&&b%temp==0)//只要找到一个数能同时被a,b所整除,则中止循环
break;
temp--;//如不满足if条件则变量自减,直到能被a,b所整除
}
return temp;//返回满足条件的数到主调函数处
}
//穷举法求两数的最小公倍数
int multiple(int a,int b)
{
int p,q,temp;
p=(a>b)?a:b;//求两个数中的最大值
q=(a>b)?b:a;//求两个数中的最小值
temp=p;//最大值赋给p为变量自增作准备
while(1){//利用循环语句来求满足条件的数值
if(p%q==0)
break;//只要找到变量的和数能被a或b所整除,则中止循环
p+=temp;//如果条件不满足则变量自身相加
}
return p;
}
扩展资料:
用穷举法解题时,就是按照某种方式列举问题答案的过程。
针对问题的数据类型而言,常用的列举方法一有如下三种:
(1)顺序列举是指答案范围内的各种情况很容易与自然数对应甚至就是自然数,可以按自然数的变化顺序去列举。
(2)排列列举有时答案的数据形式是一组数的排列,列举出所有答案所在范围内的排列,为排列列举。
(3)组合列举当答案的数据形式为一些元素的组合时,往往需要用组合列举。
组合是无序的。
例子如下:在公元五世纪我国数学家张丘建在其《算经》一书中提出了“百鸡问题”:
“鸡翁一值钱5,鸡母一值钱3,鸡雏三值钱1。
百钱买百鸡,问鸡翁、母、雏各几何?”这个数学问题的数学方程可列出如下:
Cock+Hen+Chick=100
Cock*5+Hen*3+Chick/3=100
显然这是个不定方程,适用于穷举法求解。
依次取Cock值域中的一个值,然后求其他两个数,满足条件就是解。
该问题的C语言程序算法如下:
int Cock,Hen,Chick;/*定义公鸡,母鸡,鸡雏三个变量*/
Cock=0;
while(Cock<=19)/*公鸡最多不可能大于19*/
{Hen=0;
whlie(Hen<=33)/*母鸡最多不可能大于33*/
{Chick=100-Cock-Hen;
if(Cock*15+Hen*9+Chick==300)/*为了方便,将数量放大三倍比较*/
printf("
公鸡=%d
母鸡=%d
雏鸡=%d",Cock,Hen,Chick);
Hen=Hen+1;
}
Cock=Cock+1;
}
参考资料:
百度百科——穷举法
速云怎么样?速云是一家国人商家。速云商家主要提供广州移动、深圳移动、广州茂名联通、香港HKT等VDS和独立服务器。目前,速云推出深圳独服优惠活动,机房为深圳移动机房,购买深圳服务器可享受5折优惠,目前独立服务器还支持申请免费试用,需要提交工单开通免费体验试用,次月可享受永久8折优惠,也是需工单申请哦!点击进入:速云官方网站地址活动期限至 2021年7月22日速云云服务器优惠活动:活动1:新购首月可...
licloud官方消息:当前对香港机房的接近100台物理机(香港服务器)进行打折处理,30Mbps带宽,低至不到40美元/月,速度快,性价比高,跑绝大多数项目都是绰绰有余了。该款香港服务器自带启动、关闭、一键重装功能,正常工作日内30~60分钟交货(不包括非工作日)。 官方网站:https://licloud.io 特价香港物理服务器 CPU:e3-1230v2(4核心、8线程、3.3GH...
今天有网友提到自己在Linux服务器中安装VNC桌面的时候安装都没有问题,但是在登录远程的时候居然有出现灰色界面,有三行代码提示"Accept clipboard from viewers,Send clipboard to viewers,Send primary selection to viewers"。即便我们重新登录也不行,这个到底如何解决呢?这里找几个可以解决的可能办法,我们多多尝试。...
c语言求最大公约数为你推荐
谷歌德语在线翻译哪个 电脑浏览器 可以自动在线翻译英语德语法语 等一系列的语音,最重要的是可以完全翻译英语的浏qq空间个性域名QQ空间里什么是 空间个性域名windowsphone手机Windows phone手机的优点和缺点淘气鸟乌儿很淘气,飞来飞去,蹦蹦跳跳,请你用“一会儿…一会儿…一会儿…”写写鸟儿?微信语音在哪个文件夹微信语音在哪个文件夹 微信语音导出及amr格式转换flv转换avi怎样把视频flv格式转换成avi 、 mp4格式云图好看吗电影云图好看吗?慕课网址慕课官网的电话多少?无法清除dns缓存Windows无法清除DNS缓存魔兽世界密保卡WOW现在的密保卡怎么弄?
新网域名 vps代购 flashfxp怎么用 老鹰主机 香港主机 ixwebhosting 360抢票助手 日志分析软件 xfce NetSpeeder 申请个人网页 三拼域名 免费个人空间申请 有奖调查 韩国名字大全 admit的用法 新家坡 共享主机 百度云1t 七夕快乐英语 更多