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;
}
参考资料:
百度百科——穷举法
我们先普及一下常识吧,每年9月的第一个星期一是美国劳工节。于是,有一些服务商会基于这些节日推出吸引用户的促销活动,比如RackNerd有推出四款洛杉矶和犹他州独立服务器,1G带宽、5个独立IP地址,可以配置Windows和Linux系统,如果有需要独立服务器的可以看看。第一、劳工节促销套餐这里有提供2个套餐。两个方案是选择犹他州的,有2个方案是可以选择洛杉矶机房的。CPU内存SSD硬盘配置流量价格...
提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...
无忧云怎么样?无忧云服务器好不好?无忧云值不值得购买?无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点...
c语言求最大公约数为你推荐
mobilepartnermobile partner 移动的卡怎么上网垃圾文件清理bat如何一键清理系统垃圾文件.bat?magento2心慌方2是什么意思?百度创业史简论《创业史》的思想内容.艺术手法电梯物联网平台国内物联网公司排名,知道的帅哥美女快来回答哦!谢谢了!angel的意思Angel什么意思云图好看吗电影云图好看吗?罗振宇2017跨年演讲第五届“时间的朋友”跨年演讲关键词:基本盘,什么叫“基本盘”?罗振宇2017跨年演讲有时候拼命奔跑,只是为了留在原地是什么意思500人同时微信如何扩大到500人群
未注册域名查询 免费动态域名 buyvm 百度云100as 站群服务器 精品网 themeforest 外国空间 新世界电讯 免费全能空间 双拼域名 速度云 傲盾官网 爱奇艺vip免费领取 酷番云 上海服务器 中国电信测速器 cdn网站加速 免费稳定空间 免备案cdn加速 更多