<= '9' ) then ? sz ∶= sz + 1 ; //输入的是数字? read ( ch ); //继续读入字符? end ; ? writeln ( 'The numberof letters is :', zm ); ? writeln ( 'The numberof figures is :', sz ); ? end . 【例4‐9】求两个正整数 m 和 n 的最大公约数。?问题分析: ?最大公约数( mon divisor ,简写为 gcd ) 是指几个数共有的因数之中最大的一个,例如8 和12 的最大公约数是4 ,记作 gcd (8 ,12) =4。?辗转相除法的算法思想是: 对于给定的两个正整数,用较大的数除以较小的数,若余数不为零,则将余数和较小的数构成一对新数,??进行??的除法,??大数?小数除?,这时较小的数就是?来两个数的最大公约数。算法描述: ?(1)计算?除数 m 除以除数 n 的余数 r ; ?(2)当 r ?0时,重复??操作: ?①m ← n ; ?②n ← r ; ?③r ← m mod n ; ?(3)输出最大公约数 n ; ?(4)结束。程序设计: ? program exam4 _ 9 ; ? varm , n ,r∶ integer ; ? begin ? write ( 'Please input m , n :'); ? readln ( m ,n); ?r∶= m mod n ; // r取 m 和n的余数? while r <> 0 do //辗转相除? begin ? m ∶= n ; ?n∶= r ; ?r∶= m mod n ; ? end ; ? writeln ( 'The mon divisor is :', n); ? end .