MATLAB判断是不是质数,MATLAB脚本质数的判断
最近打算从小学的课本开始学着练习MATLAB的脚本编程了。练习效果还不错,下面就是代码:
% 这个脚本判断给定a变量是否为质数。
% 运行这个脚本之前需先要给a变量赋值。
i=2;
b=0;
% 循环部分共计循环a-3次。
% 循环代码意义:
% 判断a变量从2开始一直到a-1的数中是否含有能够整除a的数值存在;
% 若存在则输出判断结果信息并终止循环;
% 若不存在则继续循环并使i自增1。
while i
if rem(a,i)==0 % 第一个if
b=rem(a,i);
disp('这个数值不是质数');
break;
end % 第一个if的结束
i=i+1;
end % while语句的结束
% 直到循环结束后b的值被改变为大于零,则说明
% 排除1和a变量本身的值外,没有数值能够整除a即
% 从2到a-1的数值中不含有能够整除a的值存在。
if b>0 % 第二个if
disp('这个数值是质数');
end % 第二个if的结束
这段代码经过移植到矩阵元素判断的时候,问题依旧出现了,下面我们就来探讨一下问题的根源究竟是哪里。
首先我们要按照正常程序书写的顺序进行,第一步便是说面原理:
1.代码原理
质数的概念:在自然数中,除了“1”以外,只能被1和它本身整除的数叫做质数,又叫素数,例如2,3等。在自然数中,除了“1”和质数以外的数叫做合数,例如4,6等。“1”既不是质数也不是合数。
2.原理分析
在除法运算中任何自然数都能够被“1”和它本身整除,而质数特别,它只能被“1”和它本身整除,其他数不能整除。那么我们便依据质数概念将任意数的“1”和它本身以及大于它本身的数排除在外,我们设这个数为a,则刚刚我们所提到的数据范围可表示为2<=a<=a-1,且a属于整数。那么在2<=a<=a-1的数据范围中如果没有任何数值能够整除a那么就说明a是个质数。这就是这段程序的本质原理,依据这个原理我们可以编写出非常精炼的判断质数的代码。
===
注意:程序细节问题,其中while循环部分中break启动的原理是只要遇到从2开始第一个能够整除a的数,则break终止循环。则此时b=0如果不终止,继续循环至a-1的值的时候如果a-1的值为不能够整除a。就会将b再度赋值为大于0的某个数值,此时result又会再度被赋值为这个数值是质数,而我们之前已经明确在判断区间中确实含有能够整除数值a的数值存在,就因为没有break终止循环进行,便造成了结果的再度更改,致使判断失效。因此这个问题也同样是移植到其他代码段中需要重点考虑的问题之一。
===
3.设计程序流程
a变量赋值
|
程序初始化
i=1,b=inf
|
#######################################
# 循环环境 #
# ————————————————————— #
# 条件: i
MATLAB判断是不是质数,MATLAB脚本质数的判断相关推荐
- if判断用户名 linux,Shell脚本IF条件判断和判断条件总结
前言: 无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here elif list then do another thing ...
- 判断闰年的Matlab/Python函数
目录 写在前面 什么是闰年 判断闰年的Matlab函数 判断闰年的Python函数 参考 写在前面 在处理自然科学数据时,经常需要判断一个年份(这里说的年份都是公历)是否为闰年,本文首先简单介绍闰年的 ...
- Haskell语言实现判断一个整数是否是质数的代码及运行结果
问题:判断一个整数是否是质数 代码: isPrime::Int->BoolisPrime n=factors n==[1,n] 运行结果:
- 从控制台输入一个数字,判断这个数字是不是一个质数
import java.util.Scanner; public class Three {// 从控制台输入一个数字,判断这个数字是不是一个质数public static void main(Str ...
- 判断一个数是否为质数的三种方法
转载自:https://blog.csdn.net/m0_37586991/article/details/79673837?depth_1-utm_source=distribute.pc_rele ...
- 判断一个数是否是质数
判断一个数是否是质数. 方法1. 在大于 1 的自然数中,如果 num 有除了 1 和自身以外的因数,说明 num 不是质数,返回 0. 最简单的方法是 i 从 2 到 num-1 都试一遍,看是否能 ...
- 通过CMD启动MATLAB的同时运行M脚本
之前写过一个这个知识点的总结,当时有点疑惑,不知道为什么我测试的时候有时候可以有时候不行.今天终于发现了我之前一直忽略的一个细节,MATLAB中M脚本可以当做一个命令来使用,但是使用的时候是不带有后缀 ...
- 用js代码判断质数_Js关于质数的判定
质数的定义 质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个正因数的数).大于1的自然数若不是素数,则称之 ...
- java声明是否是质数,java判断是否为素数(质数)的方法
质数的定义: 对于大于1的数,如果除了1和它本身,它不能再被其它正整数整除,那么我们说它是一个质数. 判断一个数是否为质数(素数)方法: 如果是偶数,直接返回:然后从3开始,步长为2,一直到n的算术平 ...
- 2013.12.26 泡面吧--判断一个数是否为质数
判断一个数是否为质数. 输入包括一行,为一个整数N(1 < N ≤1000),正是晓萌给出你让你判断的数字.<n≤1000). 输出包括一行,如果晓萌给出的整数N为质数,那么输出YES:如 ...
最新文章
- python采集cpu信息
- C#中Request.servervariables参数
- SpringBoot+MyBatis+Shiro 搭建杂谈
- POJ2142-The Balance【扩欧】
- 在 Unity 中基于 Oculus DK1 的开发
- python随机抽样numpy_python numpy之np.random的随机数函数使用介绍
- 超链接href属性_如何使用标签上的HREF属性制作HTML超链接
- LeetCode:10.regular-expression-matching(正则式表达)
- 那些黑刘翔的人,你们的良心被狗吃了
- 简述负载均衡CDN技术
- android json字符串转成json对象_【hive】解析JSON格式字符串
- 单片机毕业设计不用愁!!30篇单片机毕业设计参考案例
- DNW5.0 USB 不OK
- 【雷达】毫米波雷达和激光雷达
- android夏时令问题
- 1/cos(x)、1/sin(x)的不定积分推导
- 你有反馈,我们安排!Sketch 插件升级,新老对比一图看懂
- ORACLE分配DBA权限
- Hibernate框架基础——cascade属性
- Mathematica 训练课(3)- 简单图形绘制
热门文章
- SDIO wifi Marvell8801/Marvell88w8801 介绍(四) ---- Marvell8801/Marvell88w8801命令/事件/数据格式
- 微信接口验证类php,微信公众平台消息接口校验与消息接口响应实例
- 360个人图书馆防复制
- 行为型模式——备忘录模式(Memento Pattern)
- Android太太太太太卷了,累了,android开发入门与实战体验
- ElementUI图片上传 回显
- 华中科技大学计算机科学与技术学院郑强教授,华中科技大学教授声讨后勤被处分 校方:通报批评,取消2年评优...
- Renix软件如何建立OSPF邻居——网络测试仪实操
- WEB阶段7:综合练习-联系人管理系统-增删改查查询分页
- FCC TributePage