解决此类问题的方法就是从m=2开始,对每一个正整数逐一检验,当m满足所有已知条件时,结束循环,输出m.
[活学活用]
下面一段伪代码的功能是________.
m←2
While Mod(m,2)≠1 or
Mod(m,3)≠2 or
Mod(m,5)≠3
m←m+1
End While
Print m 解析:由代码含义可知,m满足的条件是除以2余1,除以3余2,除以5余3,又m逐个增大,故输出的m是满足条件的最小正整数.
答案:求关于x,y,z的不定方程组的最小正整数解
[典例] 用辗转相除法求396和270的最大公约数,并设计算法,画出流程图,写出伪代码.
[解] 396=270+126,270=2×126+18,126=18×7,
因此396和270的最大公约数为18.
算法如下:S1 a←396
S2 b←270
S3 如果Mod(a,b)≠0,那么转S4,否则转S7
S4 r←Mod(a,b)
S5 a←b b←r
S6 转 S3