以下程序是求整数m,n的最大公约数和最小公倍数,请补充完整: int gys(m,n) int m,n; { int t,r; if(m 第一空: m=n 第二空: r=m%n 第三空: n=r 第四空: gys(m,n)
举一反三
- 输入2个整数,输出它们的最小公倍数和最大公约数。 #include<stdio.h> void main() {int m,n,gbs,gys; scanf("%d,9/6d",m,n); gbs=m; while(______)/*第一空*/ gbs=______;/*第二空*/ gys=______;/*第三空*/ printf("%d %d\n",gbs,gys); }
- 下面程序的功能是用辗转相除法求两个正整数m和n的最大公约数。hcf(intm,intn){intr;if(m 第一空: m=n 第二空: r!=0;r 第三空: return n;return(n)
- 递归法求两个数的最大公约数。 函数接口定义: int gys(int m,int n); 其中 m 和 n 都是用户传入的参数。函数用递归法求m 和 n的最大公约数。 #include int gys(int m,int n) { } int main() { int m,n; scanf("%d%d",&m,&n); printf("%d ",gys(m,n)); return 0; } 输入样例: 24 16 输出样例: 8
- 下面程序的功能是用“辗转相除法”求两个正整数的最大公约数。请分析程序填空。 #include main() {int r,m,n; scanf("%d%d",&m,&n); if(m 【1】r=m,m=n,n=r;【2】m%n;
- 下面程序的功能是用“辗转相除法”求两个正整数的最大公约数。请分析程序填空。#includemain(){intr,m,n;scanf("%d%d",&m,&n);if(m A: 【1】r=m,m=n,n=r;【2】m%n; B: 【1】m%n;【2】r=m,m=n,n=r; C: 【1】r=m,m=n,n=r;【2】n%m; D: 【1】n%m;【2】r=m,m=n,n=r;