首页 理论教育 使用for和while循环结构检索水仙花数

使用for和while循环结构检索水仙花数

时间:2023-06-26 理论教育 版权反馈
【摘要】:for循环结构可以嵌套使用,也可以与其他流程控制结构嵌套使用。在for循环结构和while循环结构中,使用“break”命令可终止循环结构的运行。例4-5 水仙花数是指一个3位数,其各位数字的立方和等于该数本身,试用while循环结构检索水仙花数。

使用for和while循环结构检索水仙花数

循环结构是指按照给定的条件重复执行指定的语句。MATLAB提供了两种循环结构:for循环结构和while循环结构。

1.for循环结构

for循环结构的格式是:

其中,c0是循环变量i的初值;cb是循环变量i的步长,当cb取单位步长时可以省略;cn是循环变量i终值

for循环结构必须以end作为循环结构的结束标志,否则以后的语句都被认为是for循环体的内容。

这是一种预设循环次数的结构,循环变量i从取初值c0开始执行循环体;每循环一次i增加一个步长cb,重复执行循环体;直到i大于终值cn时跳出循环体,继续执行end后面的语句。

for循环结构可以嵌套使用,也可以与其他流程控制结构嵌套使用。

例4-3 用筛选法求自然数2至m范围内的全部素数

素数是大于1,且除了1和它本身以外,不能被其他任何整数整除的整数。用筛选法求素数的基本思想是:要找出2~m的全部素数,首先在其中划去2的倍数(不包括2),然后划去3的倍数(不包括3),由于4已被划去,再找5的倍数(不包括5)……直到再划去不超过978-7-111-48334-2-Part01-158.jpg的数的倍数,剩下的数都是素数。

运算结果:

M文件中,函数rem(xk)可获取自然数x被除数k余数;关系表达式x~=k表示k不等于自然数x。因此,变量n是记录自然数x中能够被k整除,并且不等于k的自然数x数组x的下标。(www.xing528.com)

例4-4 在MATLAB函数库中有一个魔方矩阵函数magic(),它能够生成每行、每列和对角线上元素的和都相等的N阶方阵。试编制M文件验证魔方矩阵的特性。

计算结果:

可见,5阶魔方矩阵各行元素、各列元素、各对角线元素之和都等于65。

2.while循环结构

while循环结构的格式是:

其中的“条件”是一个关系表达式,当关系表达式的值为真时自动执行循环体,直到关系表达式的值条件为假,转向循环体结束标志end后面的语句。

应当指出,while循环执行过程中会改变while后面关系表达式的值,否则这个while循环是一个死循环,因此while循环执行次数是不定的。

在for循环结构和while循环结构中,使用“break”命令可终止循环结构(在多重嵌套循环结构中,“break”命令只能跳出包含它的最内层循环)的运行。

例4-5 水仙花数是指一个3位数,其各位数字的立方和等于该数本身,试用while循环结构检索水仙花数。

其中,fix()是截尾取整函数,rem()是求余函数。

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

我要反馈