首页 百科知识 简单算法举例

简单算法举例

时间:2022-09-22 百科知识 版权反馈
【摘要】:先设定两个变量:一个变量代表被乘数,另一个变量代表乘数,将每一步的乘积放在被乘数变量中。假设t为被乘数,i为乘数,具体步骤如下:第五步:如果i的值不大于20,返回,重新执行第三步,以及后面的第四步、第五步;否则,输出t,算法结束。所谓素数,是指除1和它本身以外,不能被其他任何整数整除的数。例如,13是素数,因为它不能被2,3,4,…直到余数等于零,最后的一个除数就是这两个数的最大公约数。

2.2 简单算法举例

例2.1 求1×2×3×4×…×20的值,写出相应算法。

先设定两个变量:一个变量代表被乘数,另一个变量代表乘数,将每一步的乘积放在被乘数变量中。假设t为被乘数,i为乘数,具体步骤如下:

第一步:使t=1。

第二步:使i=2。

第三步:使t×i,乘积结果仍放在变量t中,可表示为:t×i=>t。

第四步:使i的值加1,即i+1=>i。

第五步:如果i的值不大于20,返回,重新执行第三步,以及后面的第四步、第五步;否则,输出t,算法结束。

例2.2 判定一个大于或等于3的正整数是否为素数

所谓素数,是指除1和它本身以外,不能被其他任何整数整除的数。例如,13是素数,因为它不能被2,3,4,…,12整除。

判断一个数n(n≥3)是否素数的方法很简单:将n作为被除数,将2到(n-1)各个整数轮流作为除数,如果都不能整除,则n为素数。

算法可表示如下:

第一步:输入n的值。

第二步:使i=2。

第三步:n除以i,得到余数r。

第四步:如果r等于0,表示n能被i整除,则打印“n不是素数”,算法结束。否则执行第五步。

第五步:i+1=>i。

第六步:如果i≤n-1,返回执行第三步。否则打印“n是素数”,然后结束。

例2.3 求两个数m和n的最大公约数。

求两个数的最大公约数是用“辗转相除法”。将两个数中较大的数作为被除数,较小的数作为除数进行相除求余数,如果余数不为零,就让原来的除数作被除数,余数作除数继续相除求余数……直到余数等于零,最后的一个除数就是这两个数的最大公约数。

第一步:输入m,n的值(m为被除数,n为除数)。

第二步:若m<n,则m,n互换。

第三步:m/n的余数赋值给r。

第四步:若r=0,则n为最大公约数,否则执行第五步。

第五步:n的值赋给m,r的值赋给n,返回执行第三步和第四步,否则结束。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈