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;
}
参考资料:
百度百科——穷举法
HostKvm是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。目前商家发布了夏季特别促销活动,针对香港国际/韩国机房VPS主机提供7折优惠码,其他机房全场8折,优惠后2GB内存套餐月付5.95美元起。下面分别列出几款主机套餐配置信息。套餐:韩国KR...
香港云服务器最便宜价格是多少钱一个月/一年?无论香港云服务器推出什么类型的配置和活动,价格都会一直吸引我们,那么就来说说香港最便宜的云服务器类型和香港最低的云服务器价格吧。香港云服务器最便宜最低价的价格是多少?香港云服务器只是服务器中最受欢迎的产品。香港云服务器有多种配置类型,如1核1G、2核2G、2核4G、8到16核32G等。这些配置可以满足大多数用户的需求,无论是电商站、视频还是游戏、小说等。...
wordpress高级全行业大气外贸主题,wordpress通用全行业高级外贸企业在线询单自适应主题建站程序,完善的外贸企业建站功能模块 + 高效通用的后台自定义设置,更实用的移动设备特色功能模块 + 更适于欧美国外用户操作体验 大气简洁的网站风格设计 + 高效优化的网站程序结构,更利于Goolge等SEO搜索优化和站点收录排名。点击进入:wordpress高级全行业大气外贸主题主题价格:¥398...
c语言求最大公约数为你推荐
win8企业版win8专业版介绍win7无线局域网如何用Win7搭建无线局域网?限制局域网网速怎么在同一个局域网限制别人的网速美国大选投票实时数据美国大选每个州的选举人票多少是怎么定的微信语音在哪个文件夹微信时的语音聊天记录保存在哪一个文件夹vs2005快捷键VS2005的快捷方式是哪个文件啊?1518qq几开头的QQ号好云图好看吗电影《云图》到底讲的什么,没看懂,高手来说一下。云图好看吗电影《云图》看了两遍,还是没怎么看懂,那位大侠讲讲,要通俗易懂。软件测试工程师待遇软件测试工程师年薪多少RMB?
出租服务器 域名主机管理系统 草根过期域名 淘宝抢红包攻略 香港vps99idc blackfriday kdata 腾讯云数据库 免费名片模板 网站监控 服务器日志分析 dropbox网盘 北京主机 重庆双线服务器托管 双线机房 银盘服务 域名dns 云服务是什么意思 nano ddos攻击 更多