前言

质数和合数是数学中的两个基本概念,两位数以内的质数和合数还比较好区分,位数一多,很多人就不太好判断了,但如果借用工具的话,这个问题就比较容易得到解答了。通过Scratch编程,短短几行代码,我们就能判断多位数是质数还是合数了。

判定规则

给你一个大于1的自然数,请判断它是合数还是质数!比如,99991是质数还是合数?
我们知道,质数就是只有1和它自身两个因数的数。因此,要判断一个大于1的自然数n是不是质数,简单的办法就是看n能不能被2n-1中的某个数整除。只要有一个数能被n整除,n就是合数;如果都不能被n整除,n就是质数。比如97,我们就看它能不能被296中的某一个数整除。
这个方法说起来很简单,但是如果给出的数较大,实际算起来就没那么简单!比如,99991。再比如,1234567891。通过人工计算来判断出它们是质数还是合数,那真不是一件容易的事。
能不能编一个程序让计算机来帮助我们计算呢?当然可以!根据上述算法就可以画出程序流程图。

编程

有了流程图,编写代码就很简单了。流程图就是编程的施工图。学习编程,画流程图是基本功。一定要养成无流程图不写代码的好习惯!流程图本身就是编程思路的体现,通过画流程图也可以进一步整理我们的思路。
程序写好后,还要调试,看看功能是否正常。通过调试,我们会发现对于不太大的数,这个程序很快就能给出结果,简直是秒杀!但如果你输入1234567891,程序运行很久才会出结果。这种状况,其实也是不能接受的。正如你玩一个游戏,它老是卡顿,你还会玩吗?一个好的程序,只考虑功能的正确性是不够的,还要考虑它的运行速度,它占用计算机内存的情况。当然,这是对高级程序员的要求。我们在学习编程的时候,更多地还是考虑功能的正确性。

程序改进方法

运行速度过慢,怎么办?重新设计呀!太慢,严格来讲就是不符合设计要求。你必须重新考虑程序的架构和实现算法。
要判定一个数n是不是质数其实不需要一直试到n-1,到n的算术平方根(要取整,绝大多数程序设计语言都有取整运算符或者功能块)就可以了!其流程图与之前的算法基本相同,不再赘述。直接上程序代码。

改进后结果

运行程序,按照提示输入1234567891。程序很快就给出结果了。由此可见,在编程中,算法是很重要的。随着学习的深入和编制的程序越来越复杂,我们就能更深刻体会到:算法是程序的灵魂。

少儿编程150讲轻松学Scratch(十一)-用Scratch巧解数学题——判定质数相关推荐

  1. 少儿编程150讲轻松学Scratch(八)-如何设计经典游戏打砖块

    前言 打砖块游戏很多人都玩过,没玩过的孩子可以自己设计一个这样的游戏来动手尝试一下.打砖块游戏其实比较简单,用Scratch就能来实现,这也是少儿编程课程中的经典游戏案例之一.具体该如何使用Scrat ...

  2. 少儿编程150讲轻松学Scratch(六)-少儿编程命名规则

    前言 少儿编程命名也是很重要的哦,小朋友们代码里面的命名有没有做好呢?有的宝宝可能要会有疑问,老师老师,我给里面的东西怎么命名又不影响程序功能,为什么起个名字也要在意呢? 无论是代码前期搭建的工作,还 ...

  3. 少儿编程150讲轻松学Scratch(十一)-用Scratch算法给矩形工具填充颜色

    如何利用Scratch算法给矩形工具填充颜色? 题目描述:已知矩形的大小为n×m,现用a×a的正方形填充该矩形.输入三个正整数n,m,a(n,m,a≤10^3),计算至多能填入多少正方形?(正方形可以 ...

  4. 少儿编程150讲轻松学Scratch(十二)-Scratch编程算法练习-选择排序

    前言 利用Scratch编程,我们可以轻松解决许多数学问题,还能省去繁杂的步骤,即使是没有学到这部分知识的孩子,只要理解了Scratch的算法和核心,就能对后面要学到的数学知识有个提早的认知. 题目 ...

  5. 少儿编程150讲轻松学Scratch(十二)-用Scratch制作石头剪子布游戏

    前言 Scratch融合卡通.动画.音效等多媒体的运用和直观拖拽式的编程方式,生动有趣,可以编写各种类型程序,游戏.动画.互动美术.实物模拟.数学模拟等,想象无限.同时蕴含丰富知识,体现现代编程思想, ...

  6. 少儿编程150讲轻松学Scratch(七)-Scratch学习中需要注意的地方

    前言 通常Scratch学习流程是,先掌握程序相关模块,并且了解各个模块的功能使用,然后通过项目的编写和练习,不断精进孩子的Scratch技术.那么Scratch学习中有那些需要注意的地方呢? 在所有 ...

  7. 少儿编程150讲轻松学Scratch(三)-关卡类游戏《鱼塘》

    前言 今天用Scratch实现一个多关卡类的小游戏<鱼塘>.这个游戏很简单(游戏场景见下图),但是需要使用大量的变量.定义函数.发布接受消息等内容.对于初学者来说还是有一定的挑战性的.好, ...

  8. 少儿编程150讲轻松学Scratch(二)-制作过马路小游戏

    前言 今天为大家带来一款小游戏的制作教程,只要跟着步骤做,就能轻松地制作出属于自己的过马路小游戏. 家长们可以用此教程指导孩子逐步完成,然后一起测试和游玩,再一起探究每处代码的逻辑意义. 教程 教程如 ...

  9. 少儿编程150讲轻松学Scratch(十)-用scratch编程实现寻找素数

    前言 Scratch中包含了很多有趣的数学知识,有些孩子可能一开始对数学没兴趣,但看到Scratch中有趣的界面和设置之后,反而对于数学知识能有进一步认识.今天要给大家讲解的是判断素数. 题目:找出1 ...

最新文章

  1. 网络推广产品浅析网站想要保持稳定的SEO排名和流量需要做什么?
  2. CentOS6.5 缺少 libstdc++.so.6(GLIBCXX_3.4.15)
  3. 荣耀10x 鸿蒙,荣耀10X PRO渲染图曝光 矩阵三摄+OLED魅眼屏
  4. yum安装php5.6 nginx,CentOS 7 yum安装 Nginx1.16 + MySQL5.5 PHP5.6
  5. .net授权获取openid_Asp.Net Core 中IdentityServer4 授权中心之自定义授权
  6. kotlin 或 运算_Kotlin程序对两个数字执行算术运算
  7. 前端学习(3076):vue+element今日头条管理-分支的使用
  8. WinForm下DataGridView导出Excel的实现
  9. 3.过滤——高斯滤波器之Matlab、Octave实战、保持两个高斯直行_5
  10. apache伪静态把css 排除掉_(02)CSS 选择器详解 | CSS
  11. wait()、notify()、notifyAll()原理用法详解sleep()与wait()区别
  12. 长等线,中等线,正等线,细等线,扁宋,扁等线
  13. git commit --amend如何合并多个commitId
  14. 揭秘 | 2021年移动云API大赛决赛大奖花落谁家?
  15. html缩放动画效果,CSS3鼠标hover背景图片缩放动画效果
  16. Android——.pem格式证书转换为.bks
  17. python读awx云图_使用python获取实时卫星云图
  18. 机器学习---推荐系统效果评估NDCG
  19. 用python抢火车票
  20. 致终将逝去的2021

热门文章

  1. [渝粤教育] 广东-国家-开放大学 21秋期末考试服务标准化10011k1
  2. 2021年春季学期期末统一考试 高级财务会计 试题
  3. 【指南】远程抄表系统(AMR/AMI)中无线模块选型
  4. 鸿蒙os怎么还没发布,关于鸿蒙OS系统!小米为何从支持到“失声”?看看中兴就知道了!...
  5. 蓝桥杯基础模块06_1:定时器计数器
  6. 【MFC系列-第20天】CDC绘图类成员介绍
  7. Math.random()获取随机数
  8. java描边_shape描边设置是否显示四周描边
  9. 技术管理规划-设定团队的职能
  10. 20180105随笔