编写函数子程序[tex=2.357x1.286]O9Bq1372rKhmyIgegRok5A==[/tex]求两个数的最大公约数。求最大公约数的算法如下:把两个数中大的那个数作为被除数,两数相除得一余数。把余数去除以除数得一新的余数。不断重复这一过程直到余数为零,这时的除数就是两个数的最大公约数。[br][/br]调用此函数试求[tex=5.643x1.286]B+mOKh0fycerjLbcXqkWayoFa2YXJyNOR9LFPZcWodg=[/tex]三个数的最大公约数。[br][/br]
解程序如下:PROGRAM MAININTEGER GCD,A,B,C, DWRITE( *, *) THE INPUT DATA IS;'READ( * , * )A,B,CD=GCD(A,B)D=GCD(D,C)WRITE(* ,* )THE GREATEST COMMON DENOMINATOR IS , DENDFUNCTION GCD (X,Y)INTEGER GCD.R,T.X,YIF (X.LT.0)THENT=Xx=YY=TEND IFR=MOD (x,Y)10 IF (R. NE.0)THENX=YY=RR=MOD (X,Y)Go To 10END lFGCD=YRETURNEND输入与运行结果如下:THE INPUT DATA IS;1260,198,72↙THE GREATEST COMMON DENOMINATOR IS 18LOGG=.TRUE.ELSELOGG=.FALSE.END IFEND运行情况如下:INPUT N20↙lNPUT Pl,P2,P3,P42 4 16 19↙INPUT DATA21 35 57 94 73 65 7 33 95 88 75 16 85 4 6242 44 15 68 12OUTPUT DATA21 42 44 15 68 73 65 7 33 95 88 75 16 85 4 62 35 57 94 12
举一反三
- 题目要求:从键盘上输入两个整数,计算输出两个数的最大公约数和最小公倍数。提示:最大公约数:可以用辗转相除法(过程如下:先用较大的一个数除以大的一个数,得第一个余数;再用第一个余数除以小的一个数,得第二个余数;这样逐次用后一个数去除以前一个余数,直到余数是0为止;最后一个除数就是所求的最大公约数)。最小公倍数:两个数的乘积除以两个数的最大公约数,即为最小公倍数。
- 用户从键盘上输入两个整数,计算这两个整数的最大公约数和最小公倍数,并打印输出。 比如,输入12, 8 打印输出:12和8的最大公约数是4, 最小公倍数是24 [br][/br] 附:辗转相除法求最大公约数的算法思路 设两个数分别是a和b: (1)计算a和b相除的余数,若余数为0则结束,此时除数就是最大公约数; (2)否则,将除数作为新的被除数,余数作为新的除数,继续前一步,直至余数为0。 [br][/br] 最小公倍数 = 两个数的乘积÷最大公约数
- 编写函数求两个数的最大公约数和最小公倍数。
- 求两个数[tex=0.857x1.286]VtHyCG+ZQg7fAIyRU+W9ow==[/tex]和[tex=0.643x1.286]ZsZs11iKEvfmzDIurZth8g==[/tex]的最大公约数。
- ①实现一个求两个数的最大公约数与最小公倍数的函数,要求函数的参数为要计算的两个数,函数的返回值为求得的最大公约数与最小公倍数。 ②调用该函数,求从键盘输入的两个数的最大公约数与最小公倍数。
内容
- 0
编写函数,求从键盘输入的两个数的最大公约数。
- 1
怎么求两个数的最大公约数
- 2
两个数相除的商是9,余数是2,如果被除数和除数都扩大到原来的10倍,商是(),余数是(
- 3
求两个数的最大公约数和最小公倍数
- 4
中国大学MOOC: 编写求两个数的最大公约数的函数过程,一般形式参数应该有 个。