vb求两个数m,n的最大公约数p和最小公倍数q(要求使用转辗相除法)
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 17:21:52
#include"stdio.h"inttemp(inta,intb){returna>b?a-b:b-a;}voidmain(){inta=169,b=13;while(a!=b){if
PrivateSubCommand1_Click()Dimn1&,m1&,m&,n&,r&n1=InputBox("输入n1")m1=InputBox("输入m1")Ifm1>n1Then'为了求最小
functionGetMaxYueShu(M,N:Integer):Integer;beginResult:=0;forI:=Min(M,N)-1downto0beginif(ImodM=0)and(
下面用到了递归解决,不知楼主能否看懂.不懂用百度hi和我私聊我也很乐意.递归只是求最大公约数,通过最大公约数求最小公倍数.#include"stdio.h"voidmain(){intm,n,d,e;
DimmAsIntegerDimnAsIntegerDimrAsIntegerDimaAsInteger,bAsIntegerm=InputBox("请输入其中的一个正整数")n=InputBox("
//用到可辗转相除法#includeintmain(){intm,n;//定义俩个变量inttemp;//中间变量scanf("%d%d",&m,&n);//读取两个变量的值while(m%n!=0)
假设m是大的,n是小的.1、判断m能否被n整除,如果能,则最大公约数就是n.如果不能则进行下一步骤.2、k=m-n.比较n和k,假设n大,k小.m=n;n=k;重复第1步骤.直到m能被n整除为止.编程
intkfor(inti=m;i>1;i--){if(m%i=0&&n%i=0){k=i;break;}}cout再问:解答一下啦~~再答:i从m开始循环每次循环减小1当m和n都除i余0的情况下i就是
PrivateSubcommand1_click()DimmAsInteger,nAsIntegerDimaAsInteger,bAsIntegerDimrAsIntegerm=InputBox("输
PrivateSubcommand1_click()DimmAsInteger,nAsIntegerDimaAsInteger,bAsIntegerDimrAsIntegerm=InputBox("输
mModn=rr=mModn
枚举法r0temp(a,temp(b,c))
用辗转相除法
void main(){int m=0,n=0,i,imax=0,imin=0,gongyue=0;printf("请输入m和n");scanf(&quo
DimmAsInteger,nAsIntegerPrivateSubCommand1_Click()m=Val(InputBox("输入正整数"))n=Val(InputBox("输入正整数"))If
Private Sub Command1_Click() Dim S As Long&nbs
a=max(m,n)b=min(m,n)循环ifb被a整除输出b,即为最大公约数停止循环elsec=a-ba=max(b,c)b=min(b,c)end
PrivateSubCommand1_Click()Dima,ba=Val(InputBox("请输入第一个数"))b=Val(InputBox("请输入第二个数"))IfNota=0AndNotb=
辗转相除法functiongcd(a,b){ifb0returngcd(b,amodb);elsereturnb;}
[m,n]=m*n/(m,n)