以下算法是计算两个正整数[tex=0.643x0.786]cnVwa8IjZzNSEmAUXJ8VCQ==[/tex]和[tex=0.5x0.786]GWrvJtODhYOBa2bpkSPSFQ==[/tex]最大公因数的递归函数,给出其递归模型。int gcd( int u, int v){ int r; if ((r= u* v) == o) return(v) ; clsc return(gcd( u.r)) ;}
举一反三
- 以下算法是计算两个正整数[tex=0.643x0.786]dFKQavWFzybe6S1GPVXNhQ==[/tex]和[tex=0.5x0.786]pmD1JbahT9zMRAbBNi045A==[/tex]最大公因数的递归函数,给出其递归模型。[img=246x187]17a38102a090077.png[/img]
- 有以下程序 #include "stdio.h" int abc(int u,int v); main ( ) { int a=24,b=16,c; c=abc(a,b); printf("%d\n",c); } int abc(int u,int v) { int w; while(v) { w=u%v; u=v; v=w; } return u; }
- 以下程序的功能是:输出x、y、z三个数中的最大者。请填空。 # inc1ude< stdio.h> int main( ) { int x=4,y=6,z=7; int ( ); if(( )) u=x; e1se u=y; if(( )) v=u; e1se v=z; printf("v= %d",v); return 0: }
- 编写用辗转相除法求两个数最大公约数的函数,调用该函数求两个数的最大公约数和最小公倍数。 #include "stdio.h" int gcd(int m,int n) { int r; do {【1】; m=n; n=r; } while(r!=0); return 【2】 ; } main() { int a,b,x,y; scanf("%d%d",&a,&b); x=gcd(【3】); y=a*b/x; /*求a和b的最小公倍数*/ printf("GCD=%d,LCM=%d\n",x,y); }
- 下列程序的输出结果是( ) #include<stdio.h> int abc(int u,int v) { int w; while(v) { w=u%v; u=v; v=w; } return u; } main() { int a=24,b=16,c; c=abc(a,b); printf("%dn",c); }