2021-2022-1 20211420《信息安全专业导论》求最大公约数伪代码
什么是欧几里得算法(辗转相除法)
欧几里得算法(辗转相除法)
算法说明如下
设计欧几里得算法伪代码
Find the gcd of two numbers //算法标题
Set gcd to 0 //初始化最大公约数
Read num1 //输入num1
Read num2 //输入num2
Label next statement as A //标记下一条语句,方便使用goto语句返回
IF (num1 >= num2) //判断num1和num2的相对大小
Set result to the remainder of num1 divided by num2 //对num1除以num2取余数
IF (result = 0) //判断余数是否为0
set gcd to gcd + num2 //满足条件就将gcd赋值为num2
Write "The gcd is", gcd //输出gcd
ELSE
num1 <- num2 //将num2赋值给num1,此时num2值没有改变
num2 <- result //将result赋值给num2,此时result值没有改变
goto A //返回语句A,同时将result赋值为新的num1除以num2所取的余数
ELSE
Set result to the remainder of num2 divided by num1 //对num2除以num1取余数
IF (result = 0) //判断余数是否为0
set gcd to gcd + num1 //满足条件就将gcd赋值为num1
Write "The gcd is", gcd //输出gcd
ELSE
num2 <- num1 //将num1赋值给num2,此时num1值没有改变
num1 <- result //将result赋值给num1,此时result值没有改变
goto A //返回语句A,同时重新判断条件进行下一次循环