iis服务器助手广告
返回顶部
首页 > 资讯 > 操作系统 >Linux centos7 bash编程——-求质数和
  • 206
分享到

Linux centos7 bash编程——-求质数和

linuxbash运维服务器开发语言python 2023-09-03 19:09:10 206人浏览 泡泡鱼
摘要

训练项目:使用函数求质数和。 定义一个函数IsPrime(),据此判断一个数是否为质数 由用户输入一个整数,求出比此数大的两个最小质数之和。 一、解决思路: 1.先在键盘上输入一个整数 2.求出比此数大的最小质数 3.再求出比此质数大的另一

训练项目:使用函数求质数和。

定义一个函数IsPrime(),据此判断一个数是否为质数

由用户输入一个整数,求出比此数大的两个最小质数之和。

一、解决思路:

1.先在键盘上输入一个整数

2.求出比此数大的最小质数

3.再求出比此质数大的另一个最小质数

4.设置计数变量,等于2时退出求质数

5.求两质数和,并输出

二、知识点

1.质数

质数(也称素数),是指除了1和该数本身,不能被任何正整数整除的正整数。判断一个正整数m是否为质数,只要判断m可否被2~根号m之中的任何一个正整数整除,如果m不能被此范围中任何一个正整数整除,m即为质数,否则m为合数。

2.条件判断

判断一个数是否为质数,C语言python等高级语言,都有这类训练,是综合运用变量、循环结构、分支语句、函数等知识的典型案例。各有不同,但思路基本一致。

与其他高级编程语言一样,变量与函数是重要概念,只有多练习才能深刻体会。

3.函数

bash中定义函数可加function关键字,也可不加,函数命名要符合规则,最低要求是见名知意,不能用数字、a、b、c等单个字符,不用中文(这是习惯,实际上bash支持中文函数名)。

bash函数传参与Python、C语言不一样,可以考虑标准输入传参,或运行函数时位置传参,而bash代码中用$1接收这个参数

三、源代码

下面是本案例的详细代码,仅供参考。

代码中,引用变量或条件判断写法很多,目的是说明这些方法可行,实际工作中最好选择编写一种格式,不要随意变换格式。

#!/bin/bash

## bash编程_函数学习与应用

## 求质数和

## 先定义一个判断函数IsPrime()

IsPrime(){

  m=$1

  i=2 # 判断一个数一般从2开始检测求余数

  while [ $i -le $m ]

  do

     flag=True #定义flag变量,表示查询的数是质数

     ## 一般对于布尔型变量,仅有正确/错误两个值,可以用1/0表达,也可以用True/False表达。

     j=2

     num1=$(bc <<< "sqrt($m)"+1) # 判断质数时,到此数即可,当录入数小时,不明显,录入数>30明显速度更快

     ## sqrt($m) 求变量$m的平方根 bc 是科学计算器

     ## 当录入数比较小时,num1可以用$m/2代替

     while [ $j -le $num1 ]

     do

        if [ `expr $i % $j` -eq 0 ];then

          flag=False

          break

        fi

        j=`expr $j + 1`

     done

     i=`expr $i + 1`

  done

}

read -p "请录入一个正整数" num

k=$num

sum=0

cnt=0 # 设置计数器,后面仅需要两个质数,需要在循环前设置计数器初始值

while true # 此处应用while循环而不是for循环,主要是我们不明确有多少次循环

## 此处true代表多次循环,无条件。也可以用:或任意一个数代替,大多数人喜欢用while (1)

do

  ((k++))

  # 此处先设置自增1,以保证标准输入是质数时仍要先循环后判断

  IsPrime $k ## 此处用位置变量进行函数传参

  if [ $flag == True ];then

     let cnt+=1

     let sum+=$k

     echo "${k}是质数"  ## 此处打印一下,可查看质数

  fi

  if [ $cnt -eq 2 ];then

     break

  fi

done

echo "比 $num 大的两个最小素数之和为 $sum "

四、效果

小结

bash中定义函数时是否用关键字function由编写者确定。函数传参与C语言、python语言不同,定义函数时也有(){}结构,但()内不能添加参数,只能进行位置传参。

与C语言、python语言不同,只能先定义函数,再使用。函数位置不能随意放置。

bash中的表达式有多种写法:let cnt+=1与((cnt++))功能相同。同样,此表达式也可以写作:

cnt=`expr $cnt + 1`

条件判断test 与[  ]功能相同。而[  ]与[[  ]]略有不同,使用时多加注意。

来源地址:https://blog.csdn.net/qq_36142959/article/details/132581222

--结束END--

本文标题: Linux centos7 bash编程——-求质数和

本文链接: https://www.lsjlt.com/news/392701.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux centos7 bash编程——-求质数和
    训练项目:使用函数求质数和。 定义一个函数IsPrime(),据此判断一个数是否为质数 由用户输入一个整数,求出比此数大的两个最小质数之和。 一、解决思路: 1.先在键盘上输入一个整数 2.求出比此数大的最小质数 3.再求出比此质数大的另一...
    99+
    2023-09-03
    linux bash 运维 服务器 开发语言 python
  • ASP、Bash、Linux 和 NumPy:哪个更适合您的编程需求?
    ASP、Bash、Linux和NumPy是当前最流行的编程语言和工具之一。每种工具都有其独特的优缺点,适用于不同的编程需求。在本文中,我们将探讨这四种工具的特点,以帮助您选择最适合您的编程需求的工具。 一、ASP ASP是一种动态网页开发语...
    99+
    2023-09-09
    bash linux numpy
  • Go、Bash和Linux:如何优化异步编程?
    异步编程是现代计算机编程中的一种重要技术,它允许程序在等待某些操作完成时继续执行其他操作,从而提高程序的效率和响应速度。在本文中,我们将介绍如何使用Go、Bash和Linux来优化异步编程。 Go是一种非常流行的编程语言,它内置了一种轻量...
    99+
    2023-09-20
    bash linux 异步编程
  • python如何实现质数求和
    目录如何实现质数求和实现1~100所有质数求和如何实现质数求和 生活中很多问题是需要用数学来解决的,比如说要是做一栋房子,各方面的数据都要计算,要用多少材料,长宽高多少等,简单地说,...
    99+
    2024-04-02
  • 异步编程:在Linux系统下使用Go和Bash?
    异步编程是一种处理并发任务的方式,它可以大大提高程序的性能和响应能力。在Linux系统下,使用Go语言和Bash脚本语言可以实现异步编程。 Go语言是一种现代化的编程语言,它内置了协程和通道等异步编程特性,因此可以轻松地实现异步编程。下面是...
    99+
    2023-09-20
    bash linux 异步编程
  • Go 和 Bash:如何在编程中处理高级存储需求?
    随着云计算和大数据技术的发展,存储需求不断增长,处理高级存储需求成为了编程中不可避免的挑战。在本文中,我们将重点介绍使用 Go 和 Bash 编程语言处理高级存储需求的方法。 一、Go Go 是一种编译型、并发型、支持垃圾回收的编程语言,由...
    99+
    2023-11-05
    bash 编程算法 存储
  • Windows对象编程:ASP和bash哪个更适合您的需求?
    随着互联网的普及,越来越多的人开始关注Web编程。在这个领域里,ASP和bash是两个广受欢迎的编程语言。但是,哪个更适合您的需求呢?在本文中,我们将比较这两种编程语言的特点,帮助您选择最适合您的编程语言。 ASP ASP(Active ...
    99+
    2023-11-03
    bash 对象 windows
  • Linux Bash编程语法都有哪些
    这期内容当中小编将会给大家带来有关Linux Bash编程语法都有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在Linux学习过程中,我们无可避免的会碰到一个既让人喜欢,又令人头疼的神奇的东西&am...
    99+
    2023-06-16
  • Bash编程中的数组和PHP编程中的数组有什么不同?
    Bash编程中的数组和PHP编程中的数组有什么不同? 数组在编程中是一种非常常见的数据结构,它可以存储一组相关的数据,并通过索引访问这些数据。在不同的编程语言中,数组的实现方式也有所不同。本文将会探讨Bash编程中的数组和PHP编程中的数组...
    99+
    2023-06-14
    bash 数组 ide
  • Go、Bash和Linux:如何提高异步编程的效率?
    异步编程是现代编程语言中越来越流行的编程方式,它可以使程序在处理多任务时更加高效。Go、Bash和Linux都是非常流行的编程语言和操作系统,在异步编程方面也各有特色。在本文中,我们将探讨如何使用这些工具来提高异步编程的效率。 一、Go语言...
    99+
    2023-09-20
    bash linux 异步编程
  • 函数编程的新选择:Go 和 Bash 实时函数
    函数编程是一种以函数为核心的编程范式,它强调函数的独立性和可重用性。在过去的几十年中,许多语言都采用了函数编程的思想,如Lisp、Haskell、Scala等。但是,随着计算机性能的提高,实时函数编程也逐渐成为了一种新的趋势。在本文中,我...
    99+
    2023-10-04
    bash 实时 函数
  • Windows对象编程:ASP和bash哪个更适合您的项目需求?
    Windows对象编程是一种使用COM对象和ActiveX控件来开发Windows应用程序的编程技术。它在Windows平台上非常流行,因为它提供了丰富的API和强大的功能,使开发人员能够创建高性能的应用程序。在这篇文章中,我们将比较AS...
    99+
    2023-11-03
    bash 对象 windows
  • ASP和bash都是编程语言吗?
    ASP和Bash都是编程语言吗? ASP和Bash都是编程语言,但是它们有不同的用途和特点。ASP(Active Server Pages)是一种用于创建动态网站的服务器端脚本语言,而Bash则是一种在Linux和Unix系统上使用的命令行...
    99+
    2023-10-16
    bash 关键字 自然语言处理
  • Linux下的异步编程:Go和Bash是否是最佳选择?
    随着计算机技术的不断发展,异步编程已经成为了现代编程中不可或缺的一部分。在Linux系统中,异步编程可以使用多种语言进行实现,包括Go和Bash。但是,对于开发者来说,选择哪种语言来实现异步编程可能是一个困难的决定。在本文中,我们将探讨一...
    99+
    2023-09-20
    bash linux 异步编程
  • ASP、Bash、Linux 和 NumPy:哪个能够提高您的编程效率?
    ASP、Bash、Linux和NumPy:哪个能够提高您的编程效率? 在当今的技术领域中,有很多编程语言和工具可以用来提高您的编程效率。在这篇文章中,我们将比较ASP、Bash、Linux和NumPy这四个工具的优劣,以帮助您决定哪个工具最...
    99+
    2023-09-09
    bash linux numpy
  • Java 和 Bash 谁更适合并发编程?
    随着计算机技术的不断发展,越来越多的应用程序需要支持并发编程。对于开发人员来说,选择合适的编程语言和工具是非常重要的。在本文中,我们将探讨 Java 和 Bash 这两种编程语言在并发编程方面的优缺点。 Java 是一种面向对象的编程语言...
    99+
    2023-10-12
    bash 并发 日志
  • LeetCode编程挑战:使用PHP和Bash解决编程难题。
    LeetCode是一家专注于算法和数据结构的在线编程练习平台。在这个平台上,你可以挑战各种难度级别的编程题目,提高自己的算法能力和编程技能。本文将介绍如何使用PHP和Bash来解决LeetCode上的编程难题。 PHP是一种流行的服务器端...
    99+
    2023-08-17
    bash leetcode 关键字
  • PHP 和 Bash:谁更适合并发编程?
    在当今互联网时代,高并发是一个不可避免的话题,特别是对于网站和应用程序来说。在这种情况下,选择一个适合的编程语言变得尤为重要。PHP 和 Bash 都是常用的编程语言,并且都可以用于并发编程。但是,哪种语言更适合这种任务呢?在本文中,我们...
    99+
    2023-07-03
    bash 并发 面试
  • PHP 和 Bash:谁更适合接口编程?
    PHP和Bash是两种非常流行的编程语言,它们都有着广泛的应用场景。在接口编程方面,很多人会纠结于选择哪种语言。在本文中,我们将比较PHP和Bash在接口编程方面的优缺点,以帮助你选择更适合你项目的语言。 一、PHP的优点 1.易于学习和使...
    99+
    2023-07-28
    bash 接口 重定向
  • 异步编程:Go、Bash和Linux的无缝结合是可能的吗?
    随着计算机技术的不断发展,异步编程成为了越来越受欢迎的编程方式。它可以充分利用计算机的资源,提高程序的执行效率。而在这种编程方式中,Go、Bash和Linux都有各自的优势。那么,它们之间能否无缝结合呢?本文将探讨这个问题。 异步编程的优...
    99+
    2023-09-20
    bash linux 异步编程
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作