c语言最大公约数和最小公倍数怎么表示

 我来答
问明6E
高粉答主

2019-05-27 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.6万
展开全部

最大公约数和求最小公倍数

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;

}

扩展资料:

while使用示例

C++

int a=NULL;

while(a<10)

{

a++;//自加

if(a>5)//不等while退出循环,直接判断循环

{

break;//跳出循环

}

}

结果:结束后a的值为6。

Javascript

下面的例子定义了一个循环程序,这个循环程序的参数i的起始值为0。该程序会反复运行,直到i大于10为止。i的步进值为1。

<html>

<body>

<script type="text/javascript">

var i=0

while(i<=10)

{document.write("The number is"+i);

document.write("<br/>");

i=i+1;}

</script>

</body>

</html>

结果

The number is0

The number is1

The number is2

The number is3

The number is4

The number is5

The number is6

The number is7

The number is8

The number is9

The number is10

参考资料:

百度百科——while

卷帘青山H
高粉答主

2019-07-09 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:426
采纳率:100%
帮助的人:20.2万
展开全部

#include <stdio.h>

int main()

{

int a,b,c,m,t;

printf("请输入两个数:\n");

scanf("%d%d",&a,&b);

if(a<b)

{

t=a;

a=b;

b=t;

}

m=a*b;

c=a%b;

while(c!=0)

{

a=b;

b=c;

c=a%b;

}

printf("最大公约数是:\n%d\n",b);

printf("最小公倍数是:\n%d\n",m/b);

}

扩展资料

算法思想

利用格式输入语句将输入的两个数分别赋给 a 和 b,然后判断 a 和 b 的关系,如果 a 小于 b,则利用中间变量 t 将其互换。

再利用辗转相除法求出最大公约数,进而求出最小公倍数。最后用格式输出语句将其输出。

#include<stdio.h>是在程序编译之前要处理的内容,称为编译预处理命令。编译预处理命令还有很多,它们都以“#”开头,并且不用分号结尾,所以是c语言的程序语句。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
溜到被人舔

2019-12-23 · TA获得超过6.8万个赞
知道顶级答主
回答量:8.2万
采纳率:96%
帮助的人:2850万
展开全部
辗转相除法求最大公约数和最小公倍数
有两整数a和b:
① a%b得余数c
② 若c=0,则b即为两数的最大公约数
③ 若c≠0,则a=b,b=c,再回去执行①
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-11-23
展开全部
辗转相除法求最大公约数和最小公倍数
有两整数a和b:

① a%b得余数c

② 若c=0,则b即为两数的最大公约数

③ 若c≠0,则a=b,b=c,再回去执行①

例如求27和15的最大公约数过程为:

27÷15 余1215÷12余312÷3余0因此,3即为最大公约数

#include<stdio.h>
void main() /* 辗转相除法求最大公约数 */
{
int m, n, a, b, t, c;
printf("Input two integer numbers:\n");
scanf("%d%d", &a, &b);
m=a; n=b;
while(b!=0) /* 余数不为0,继续相除,直到余数为0 */
{ c=a%b; a=b; b=c;}
printf("The largest common divisor:%d\n", a);
printf("The least common multiple:%d\n", m*n/a);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
顿油兔扇皮1a
2016-12-22 · TA获得超过203个赞
知道小有建树答主
回答量:484
采纳率:100%
帮助的人:99.8万
展开全部
输入两个正整数m和n,求其最大公约数和最小公倍数.用辗转相除法求最大公约数算法描述:m对n求余为a,若a不等于0则m最小公倍数=两个数的积/最大公约数#includeintmain(){intm,n;intm_cup,n_cup,res;/*被除数,除数,余数*/printf("Entertwointeger:\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("Greatestcommondivisor:%d\n",n_cup);printf("Leasecommonmultiple:%d\n",m*n/n_cup);}elseprintf("Error!\n");return0;}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式