ruby判断一个数是否为质数(素数)示例

ruby判断一个数是否为质数

质数又称素数。一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数;(除0以外)否则称为合数 。根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。

代码如下:

def prime?(num)
  res = [1]
  res << num

if num == 0 || num == 1
    return false
  end

2.upto(10) do |x|
    #如果有自己的话,就跳下一次循环
    if num == x
      next
    end

#看看是否能被 2-10之间的数整除, 取余数相当于分组
    if num % x == 0
      res << x
    end
  end

res.length > 2 ? false : true
end

(0)

相关推荐

  • ruby判断一个数是否为质数(素数)示例

    ruby判断一个数是否为质数 质数又称素数.一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数:(除0以外)否则称为合数 .根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积:而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的. 复制代码 代码如下: def prime?(num)  res = [1]  res << num if num == 0 || num == 1    return false  end 2.upto(

  • JavaScrpt判断一个数是否是质数的实例代码

    废话不多说了,直接给大家贴代码了 <script> //1.非正则实现 function isPrime(num) { // 不是数字或者数字小于2 if(typeof num !== "number" || !Number.isInteger(num)) { // Number.isInterget 判断是否为整数 return false } //2是质数 if(num == 2) { return true } else if(num % 2 == 0) { //排除

  • php输出1000以内质数(素数)示例

    复制代码 代码如下: <?phpfor($i = 2; $i < 1001; $i++) { $primes = 0; for($k = 1; $k <= $i; $k++) if($i%$k === 0) $primes++; if($primes <= 2) // 能除以1和自身的整数(不包括0) echo "<strong>{$i}</strong><br />";}

  • java如何判断一个数是否是素数(质数)

    目录 java判断一个数是否是素数(质数) 质数(prime number)又称素数,有无限个 思路 java 求1-100之间的质数 质数定义: 1.质数实例一 2.质数实例二 3.质数实例三 4.质数实例四 5.质数实例五 6.质数实例六 java判断一个数是否是素数(质数) 质数(prime number)又称素数,有无限个 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数. import java.util.Scanner; public class Te

  • 使用Python判断质数(素数)的简单方法讲解

    质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数.素数在数论中有着很重要的地位.比1大但不是素数的数称为合数.1和0既非素数也非合数.质数是与合数相对立的两个概念,二者构成了数论当中最基础的定义之一.基于质数定义的基础之上而建立的问题有很多世界级的难题,如哥德巴赫猜想等.算术基本定理证明每个大于1的正整数都可以写成素数的乘积,并且这种乘积的形式是唯一的.这个定理的重要一点是,将1排斥在素数集合以外.如果1被认为是素数,那么这些严格的阐述就不得不加上一些限制条

  • C语言判断一个数是否为素数方法解析

    一.概念介绍 素数又称为质数.一个大于1的自然数(从2开始),除了1和它本身外,不能被其他自然数整除的叫做素数,否则称为合数. 0和1既不是素数也不是合数,最小的素数是2. 二.代码 方法一: bool is_Prime(int num){ int i; for(i = 2;i <= sqrt(num);i++){ if(num % i == 0)//一旦发现有因子,则返回false return false; } return true; } 注意:在for循环判断时不能忘记 i <= sq

  • C++如何判断一个数是不是素数

    目录 如何判断一个数是不是素数 思路 实现代码 快速判断一个数是不是素数(质数) 朴素的方法 下面介绍一个更快的方法 如何判断一个数是不是素数 题目:判断一个数是不是素数,1 < N <= 50000 思路 判断n是否整除(求余是否等于0)大于1而小于sqrt(n)中的任何一个数,如果有则不是素数,否则是素数 实现代码 // 判断一个数是不是素数,1 < N <= 50000 #include <iostream> #include <cmath> usin

  • 判断一个数是不是素数的方法

    给出一个数,判断这个数是不是素数: 复制代码 代码如下: #include <cmath> bool isPrime(int n) {  int i;  for (i = 2; i <= sqrt(n); i++) {    if (n % i == 0)      return false;  }  return true;}

  • JS判断一个数是否是水仙花数

    水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身. 例如:1^3 + 5^3+ 3^3 = 153 //判断一个数是否数水仙花数 var num=prompt('请输入一个数字'); //得到位数可以计算幂数 var length=num.length; //使用字符串的方法获取每一位数 var content=num.split(""); //判断开始输入的数字和计算出来的结果是否相等 var result=0; for(var i=0;i&l

  • 使用C# 判断给定大数是否为质数的详解

    C#判断给定大数是否为质数,目标以快速度得到正确的计算结果. 在看到这道题的时候,第一反应这是一道考程序复杂度的题,其次再是算法问题.我们先来看看质数的规则:Link:http://en.wikipedia.org/wiki/Prime_numberC#求质数代码: 复制代码 代码如下: public bool primeNumber(int n){             int sqr = Convert.ToInt32(Math.Sqrt(n));             for (int

随机推荐