给定两个正整数m=126和n=198,利用辗转相除算法,求它们的最小公倍数,并写出求解过程。
给定两个正整数m=126和n=198,利用辗转相除算法,求它们的最小公倍数,并写出求解过程。
参考解析
解析:两个整数的最小公倍数=两整数的乘积÷最大公约数 求最大公约数的辗转相除法算法:
有两整数m和n(m<n):
①时m得余数c;
②若c=0,则m即为两数的最大公约数;
③若c≠0,则n=m,m=c,再回去执行①。
求126和198的最大公约数过程为:
①198÷126,余72;
②126÷72,余54;
③72÷54,余18;
④54÷18余0。因此,18即为最大公约数。
最小公倍数=两整数的乘积÷最大公约数
即:最小公倍数为=198×126÷18=1386。
有两整数m和n(m<n):
①时m得余数c;
②若c=0,则m即为两数的最大公约数;
③若c≠0,则n=m,m=c,再回去执行①。
求126和198的最大公约数过程为:
①198÷126,余72;
②126÷72,余54;
③72÷54,余18;
④54÷18余0。因此,18即为最大公约数。
最小公倍数=两整数的乘积÷最大公约数
即:最小公倍数为=198×126÷18=1386。
相关考题:
请编写函数fun,它的功能是:求任意两个正整数的最小公倍数和最大公约数,最小公倍数放在指针变量bei所指的变量中,最大公约数放在指针变量yue所指的变量中。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。vOid fun(int m,int n,int*bei,int*yue){int s=l,i;if(m>n){s=m;m=n;n=S;}for(i=2,s=1;i<m i++)if((m%i=0)(n%i=0)){}*yue=s;*bei=S*m*n;}main( ){int a,b,beishu,yueshu;chscr( );printf("please input a,b:");scanf("%d,%d,"a,b);fun(a,b,beishu,yueshu);printf("a,b beishu:%d\n",beishu);printf("a,b yueshu:%d\n",Yueshu);}
阅读以下说明和流程图,回答问题1-2,将解答填入对应的解答栏内。[说明]下面的流程图采用欧几里得算法,实现了计算两正整数最大公约数的功能。给定正整数m和 n,假定m大于等于n,算法的主要步骤为:(1)以n除m并令r为所得的余数;(2)若r等于0,算法结束;n即为所求;(3)将n和r分别赋给m和n,返回步骤(1)。[流程图][问题1] 将流程图中的(1)~(4)处补充完整。[问题2] 若输入的m和n分别为27和21,则A中循环体被执行的次数是(5)。
请补充main函数,该函数的功能是:输入两个正整数m和n,求这两个数的最大公约和最小公倍数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>main ( ){int a, b, n, m, t;clrscr ();printf ("\nInput two numbers: \n");scanf ("%d, %d", n, m);if (n<m){a=m;b=n;}else{a=n;b=m;}while(【 】){t=【 】a=b;b=t;}printf ("greatest con. non divisor:%d\n", a);printf ("least common multiple:%d\n",【 】);}
请补充main函数,该函数的功能是:输入两个正整数numl和num2,求这两个数的最大公约和最小公倍数。例如,若输入的两个正整数为12,4,则它们的最大公约数为12,最小公倍数为4。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填人所编写的若干表达式或语句。试题程序:includelt;stdlib.hgt;includelt;stdio.hgt;void main{int a,b,numl,num2,t;system(CLS):printf(\nInput two numbers:\n);scanf(%d,%d,amp;numl,amp;num2);if(numllt;num2){a=num2;b=num1:}else{a=num1;b=num2;}while(【1】){t=【2】a=b;b=t:}printf(“greatest common divisor:%d\n,a);printf(least common multiple:%d\n,【3】;}
设{an}为数列,对于“存在正数肘,对任意正整数n,有的否定(即数列{an}无界)是( )。A、存在正数M,存在正整数n,使得|an|>MB、对任意正数M,存在正整数n,使得|an|>MC、存在正数M,对任意正整数n,有|an|>MD、对任意正数M以及任意正整数n,有|an|>M
给定包含n个正整数的数组A和正整数x,要判断数组A中是否存在两个元素之和等于x,先用插入排序算法对数组A进行排序,再用以下过程P来判断是否存在两个元素之和等于x。low=1;high=n;while(high>low)if A[low]+A[high]=x return true;else if A[low]+A[high]>x low++;else high--;return false;则过程P的时间复杂度为( ),整个算法的时间复杂度为(请作答此空)。A.O(n)B.O(nlgn)C.O(n2)D.O(n2lgn)
子过程pfh(m,n)的功能是求两个数的平方和,现有已经赋值的变量a和b,求a和b的平方和的正确过程调用为()。A、Call pfh(a,b)B、pfh a,bC、pfh “a,b”D、pfh(a,b)
单选题算法可以有0~n(设n、m为正整数)个输入,有()个输出。A0~mB0C1~mD1