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;
}
参考资料:
百度百科——穷举法
CloudCone 商家也是比较有特点的,和我们熟悉的DO、Vultr、Linode商家均是可以随时删除机器开通的小时计费模式。这个对于有需要短租服务器的来说是比较有性价比的。但是,他们还有一个缺点就是机房比较少,不同于上面几个小时计费服务商可以有多机房可选,如果有这个多机房方案的话,应该更有特点。这次我们可以看到CloudCone闪购活动提供洛杉矶三个促销方案,低至月付1.99美元。商家也可以随...
spinservers是Majestic Hosting Solutions LLC旗下站点,主营国外服务器租用和Hybrid Dedicated等,数据中心在美国达拉斯和圣何塞机房。目前,商家针对圣何塞部分独立服务器进行促销优惠,使用优惠码后Dual Intel Xeon E5-2650L V3(24核48线程)+64GB内存服务器每月仅109美元起,提供10Gbps端口带宽,可以升级至1Gbp...
运作了18年的德国老牌机房contabo在继去年4月开办了第一个美国数据中心(中部城市:圣路易斯)后立马在本月全新上马两个数据中心:纽约、西雅图。当前,为庆祝美国独立日,美国三个数据中心的VPS全部免除设置费,VPS本身的配置很高,价格适中,有较高的性价比!官方网站:https://contabo.com/en/SSD VPSKVM虚拟,纯SSD阵列,不限制流量,自带一个IPv4内存CPUSSD带...
c语言求最大公约数为你推荐
达内学院达内教育就业前景怎么样?java学习思维导图如何成为一个很厉害的人思维导图多重阴影[讨论]《多重阴影》的中文配音好熟悉啊!微信语音在哪个文件夹微信语音在哪个文件夹 微信语音导出及amr格式转换人脸检测综述人脸检测方法创业好项目论坛1000元创业有什么好项目可以做?智能公共广播系统智能广播的系统内容Costco茅台被抢光Costco在中国大陆第一家店开业首日被挤爆,为什么人们都特别青睐洋货?操控人心如何操控自己的人生微软永久关闭实体店微软在中国有实体店吗
域名信息查询 俄罗斯vps 免费域名跳转 阿里云os 大硬盘 adman 新加坡服务器 优惠码 mediafire下载 sub-process unsplash 最好看的qq空间 智能骨干网 godaddy域名证书 双拼域名 太原网通测速平台 外贸空间 韩国代理ip 秒杀品 国外网页代理 更多