广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    shell中用for循环打印 n 以内的素数

    来源:网络收集  点击:  时间:2024-04-10
    【导读】:
    今天分享一下有点难度的shell 脚本事例;打印 n 以内的素数;脚本用的是用的是 for 嵌套循环和 if 判断为主体做的脚本;工具/原料more电脑linux方法/步骤1/7分步阅读

    我们先看一下我们的脚本效果,就是 执行脚本 提示你输入 n,以此求出 n 以内的素数;(脚本后面加参数是不会读取内容作为 n 的),效果如图;

    2/7

    开始写脚本,就要先知道要求完成条件;素数的定义和判断如下图;这里我们关键要知道素数的 判断 ,只有 本身 和 1,这两个因数;

    3/7

    我们这里先熟悉 一下 read 的用法,获取 键值 ,因此来获得 n 值,限定范围;脚本如图一;测试如图二,可以正常获取 n 值;

    4/7

    把 echo $n 这个测试代码,删除;然后写入完整的代码,就是如下图;

    5/7

    简单讲解一下,先用 一层 for 循环,定义变量 i,(i默认等于2,素数是从2 开始的),然后在循环通过 $i 来代表 n 以内的 所有数字;

    6/7

    然后就是关键的判断,我们要知道 $i%$j=0(要理解 模 的定义),就可以说明 $j 就是 $i的因数;通过 二层for循环,让 $i 可以和 $i 以内的所以数依次求 模;然后 判断 n1(下图中代表 模值的变量,不要和 n弄混了)是否等于 0 ,为 0 就把此时的 $j 赋予给 t变量,并跳出循环(这点同样重要)

    7/7

    然后就是 和二层 for 循环同级 的 if 判断 , 我们上面 获取的 $t 如果和 $i 相等,就是 说明 $i 和 $j相同,符合 只有本身是因数 这个条件(1是不用比的),那么 $i 就是素数了;

    另外,比如像 4 ,在二层for循环中 会和 2 模出 0,此时 t=$j=2,把 t=2和 4比较高 ,不相等,也就说明了 4 有其他因数,不是素数;

    注意事项

    个人学习经验,仅作分享;

    表达能力有限,希望大家可以多练,理解算法,和脚本;

    SHELL脚本素数打印FOR
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_485148.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 17:09:08  耗时:0.026
    0.0265s