当前位置: 首页 > 编程笔记 >

编写Golang程序以检查给定数字是否为质数

史绍晖
2023-03-14
本文向大家介绍编写Golang程序以检查给定数字是否为质数,包括了编写Golang程序以检查给定数字是否为质数的使用技巧和注意事项,需要的朋友参考一下

定义: 一个数字是大于2且只能被其自身和1整除。

示例:素 数是2、3、5、7、11、13、113、119等。

解决这个问题的方法

  • 步骤1:找到给定数字的平方根sq_root =√num

  • 步骤2:如果给定数字可被[2,sq_root]所属的数字整除,则打印“非素数”

  • 第3步:如果不能被任何数字整除,则打印“ Prime Number”

程序

package main
import (
   "fmt"
   "math"
)

func checkPrimeNumber(num int) {
   if num < 2 {
      fmt.Println("数字必须大于2。")
      return
   }
   sq_root := int(math.Sqrt(float64(num)))
   for i:=2; i<=sq_root; i++{
      if num % i == 0 {
         fmt.Println("Non Prime Number")
         return
      }
   }
   fmt.Println("Prime Number")
   return
}

func main(){
   checkPrimeNumber(0)
   checkPrimeNumber(2)
   checkPrimeNumber(13)
   checkPrimeNumber(152)
}
输出结果
数字必须大于2。
Prime Number
Prime Number
Non Prime Number

 类似资料:
  • 本文向大家介绍编写Golang程序以查找给定范围内的质数,包括了编写Golang程序以查找给定范围内的质数的使用技巧和注意事项,需要的朋友参考一下 例子 输入num1 = 3和num2 = 8 =>质数是:3、5、7 输入num1 = 8和num2 = 23 =>质数是:11,13,17,19,23 解决这个问题的方法 步骤1:定义一个接受两个数字num1和num2的函数,类型为int。 步骤2:

  • 本文向大家介绍编写Golang程序以检查给定数组是否已排序(使用冒泡排序技术),包括了编写Golang程序以检查给定数组是否已排序(使用冒泡排序技术)的使用技巧和注意事项,需要的朋友参考一下 例子 输入arr = [7、15、21、26、33] =>数组已排序。 输入arr = [7,5,1,6,3] =>数组未排序。 解决这个问题的方法 步骤1:将数组从第0个索引迭代到n-1。 步骤2:将数组从

  • 本文向大家介绍编写Golang程序以查找给定数字的阶乘(使用递归),包括了编写Golang程序以查找给定数字的阶乘(使用递归)的使用技巧和注意事项,需要的朋友参考一下 例子 5的阶乘= 5 * 4 * 3 * 2 * 1 = 120 10的阶乘= 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 解决这个问题的方法 步骤1:定义一个接受数字(大于0)的函数,类型为i

  • 本文向大家介绍编写Golang程序以查找给定数组中的重复元素,包括了编写Golang程序以查找给定数组中的重复元素的使用技巧和注意事项,需要的朋友参考一下 例子 输入数组= [1、3、5、6、1] =>重复元素为1; 输入数组= [1、3、5、6、7] =>返回-1 解决这个问题的方法 步骤1: 定义一个接受数组的方法。 第2步: 声明访问过的映射。 步骤3:迭代给定的数组。如果该元素存在于已访问

  • 问题内容: 下面的代码不适用于某些输入。 我最初的想法是检查每个输入是否为2的幂,方法是从1开始乘以2直到超过输入数量,然后在每个步骤进行比较。相反,我预先存储了2的所有幂,以便检查中的给定输入。如何改善呢? 问题答案: 将 _ 最好的,最准确_ 的方法是使用位操作: 说明: 2的每个幂将1位恰好设置为1(该数的对数以2为底的索引中的位)。因此,当从中减去1时,该位​​翻转为0,而所有在前位翻转为

  • 所以我正在尝试编写这个java程序,它将检查并显示0到10000之间的所有回文数字。方法isPalindrome必须接受int数,如果number是回文,则返回一个布尔值true,如果number不是回文,则返回一个false。 这是到目前为止的代码,但当我运行它时,它只打印一行1,我在最后添加的打印是为了调试和检查该方法是否工作,但在这种情况下它不工作。我还将numCount初始化为1,因为当n