例79求两个数的最大公约数。 输入mn 输入m,n m<n N Y N msn meyn rmon rmon r!=0 m-n, n-I m=n, n-I rmon r!=0 输出最大公约数n 输出最大公约数m (a)当型结构 (b)直到型结构 图78例子的两种结构的NS图
例7.9 求两个数的最大公约数。 输入 m,n m<n Y N mn r=m%n r!=0 m=n,n=r r=m%n 输出最大公约数 n 输入 m,n m<n Y N mn r=m%n m=n,n=r r!=0 输出最大公约数 m (a)当型结构 (b)直到型结构 图7.8 例子的两种结构的N-S图
根据流程图可得到程序: mainO mainO int mn.ra int m, n, r, scanf( %od, od", &m, &n); scanf(%d, %d", &m, &n); if(m<n) if(m<n) r-m,m=n,n-r r-m,m=n,Ir r=m%n do while(r!=0 {m=n; r=m/on; n-r mEn -m/on nEr I while(r!=0) orin itf( od\n,n) printf(%odin", m) 7
根据流程图可得到程序: main() main() { { int m,n,r; int m,n,r; scanf("%d,%d",&m,&n); scanf("%d,%d",&m,&n); if(m<n) if(m<n) r=m,m=n,n=r; r=m,m=n,n=r; r=m%n; do while(r!=0) { { m=n; r=m%n; n=r; m=n; r=m%n; n=r; } }while(r!=0); printf("%d\n",n); printf("%d\n",m); } }