求两个数m和n的最大公约数?用程序框图怎么画?

如题所述

假设m是大的,n是小的;

1、判断m能否被n整除,如果能,则最大公约数就是n。如果不能则进行下一步骤。

2、k=m-n。比较n和k,假设n大,k小。m=n; n=k; 重复第1步骤。直到m能被n整除为止。

编程:
int big_divisor(int m, int n)
{
int min,max,k=m;
do
{
max=MAX(k,n);
min=MIN(k,n);
m=max;
n=min;
k=m%n;
}while(k!=0)
return n;
}

比如:8和4,8能被4整除,所以不需要第2步。
比如:12和8,12不能被8整除,所以进行第2步,循环1次后m和n分别是8和 12-8 即8和4,此时8能被4整除,所以循环结束,返回最大公约数4。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-10-14

求两个数m和n的最大公约数?用程序框图怎么画?
1、判断m能否被n整除,如果能,则最大公约数就是n。如果不能则进行下一步骤。2、k=m-n。比较n和k,假设n大,k小。m=n; n=k; 重复第1步骤。直到m能被n整除为止。编程:int big_divisor(int m, int n){int min,max,k=m;do{max=MAX(k,n);min=MIN(k,n);m=max;n=min;k=m%n...

求两个数m和n的最大公约数?用程序框图怎么画
求两个数m和n的最大公约数?用程序框图怎么画  我来答 1个回答 #热议# 为什么孔子像会雕刻在美最高法院的门楣之上?reki丶447 2014-10-15 · TA获得超过152个赞 知道答主 回答量:130 采纳率:50% 帮助的人:34.7万 我也去答题访问个人页 关注 展开全部 已赞过 已踩过< 你对这个回答的评...

c语言,求两个数m和n的最大公约数的流程图。
1、判断m能否被n整除,如果能,则最大公约数就是n。2、k=m-n。比较n和k,假设n大,k小。m=n; n=k; 重复第1步骤。直到m能被n整除为止。include "stdio.h" \/\/包含头文件 main(){ int m,n,i,min; \/\/定义变量 printf("Please Input n and m:\\n"); \/\/打印这句话 scanf("%d%d"...

怎么编写vb程序,求两个数的最大公约数
启动VB程序,在“新建工程”界面选择【标准 EXE】,点击【打开】,进入工程页面后,再将最右端下方属性窗口中Form1的“Caption”的内容改为“Sub子程序的递归调用——求两个数的最大公约数”单击最左端工具栏中的【TextBox】,在窗体上拖动变成十字线的鼠标指针画出合适的文本框大小,或者是双击【TextB...

求两个数m和n的最大公约数?用NS图怎么画?
利用辗转相除法即可。NS流程图很容易画了我就不画了。代码如下:int MaxFactor(const int &m,const int &n){ if(m<n) \/\/默认为m>n,若不是,则交换 return MaxFactor(n,m); if(m%n==0) \/\/能整除,最大为n return n; else \/\/不能整除,辗转相除 return ...

用流程图表示两个正整数m和n的大公约数和最小公倍数,
一般采用辗转相除法求最大公约数h。最小公倍数=m*n\/h

求两个数m和n的最大公约数 帮我把每行代码都详细解释一下。。
其中第二条是重中之重,但看循环的话没法明白道理,可以用数字举例说明 首先看特例:比如 m=9 n=3 很显然 最后结果就是3 那么运行过程就是 从键盘读取了 9和3 然后进入while循环 条件是 m%n!=0 条件不成立所以没有进入循环由此可知 m能被n整出这样n就是最大公约 下面看常规例子 m=9 n=6 ...

求两个整数m和n的最大公约数
最大公约数(Greatest Common Divisor,缩写为gcd)是指能够同时整除给定的两个或多个整数的最大正整数。求解最大公约数是数论中的一个基本问题,在计算机科学、信息学、密码学等领域都有广泛的应用。要求得两个整数m和n的最大公约数,可以采用多种方法,以下是其中常用的两种方法:1、辗转相减法:辗转...

求两个正整数m和n的最大公约数
求两个正整数的最大公约数的算法通常使用“辗转相除法”。设有两个正整数m、n,求它们的最大公约数的算法如下:①若m<n,则交换m和n(保证m大于n)。②计算m\/n的余数r。③若r不等于0,则令m=n、n=r,转第②步继续执行;否则,算法结束,n就是最大公约数。下面就是用“辗转相除法'才...

如何求两个整数的最大公约数与最小公倍数
具体实现步骤如下:从键盘输入两个整数m和n的值。判断m和n是否都为0,如果都为0,则其最大公约数和最小公倍数均为0,并输出结果;否则,执行以下步骤:定义变量x为m和n中较小的那个数,变量y为较大的那个数。用y除以x,求得余数r,如果r等于0,则x即为m和n的最大公约数,而y即为它们的...

相似回答