精华内容
下载资源
问答
  • #include /**判断100以内的素数*///定义函数判断是否是素数int isPrime(int num ){int i;//从2开始循环,一直i的平方小于等于给定的数。for (i = 2; i*i <= num; i++) {if ( ( num % i ) == 0 ) {return 0;}}}...

    #include

    /*

    *判断100以内的素数

    */

    //定义函数判断是否是素数

    int isPrime(int num ){

    int i;

    //从2开始循环,一直到i的平方小于等于给定的数。

    for (i = 2; i*i <= num; i++) {

    if ( ( num % i ) == 0 ) {

    return 0;

    }

    }

    }

    int main(int argc, const char *argv[])

    {

    int re;

    int input;

    printf("请输入一个100以内的整数:");

    scanf("%d",&input);

    if( input > 1 ){

    re = isPrime(input);

    if(re == 0){

    printf("%d不是素数\n",input);

    }else{

    printf("%d是一个素数\n",input);

    }

    }else{

    if(input == 1){

    printf("1既不是素数,也不是合数。\n");

    }else{

    printf("请输入大于或等于1的正整数^.^\n");

    }

    }

    return 0;

    }

    展开全文
  • 判断 个数 是不是 质数 / 素数

    千次阅读 2019-12-27 15:28:38
    【面试必备 100题 系列 】- 001 - 判断 个数 是不是 质数 / 素数 、命题分析: 质数又称素数。指整数在个大于1的自然数,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1...

    判断 一个数 是不是 质数 / 素数

     

    【面试必备 100题 系列 】- 001 - 判断 一个数 是不是 质数 / 素数

     

    一、命题分析:

       质数 又称 素数。指整数在一个大于1的 自然数 中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为 合数 。1和0既非素数也非合数。素数在 数论中有着很重要的作用。

    二、答案解析:

    1、简洁、低效方案:

    public static boolean isPrime(int n){
        if (n <= 3) {
            return n > 1;
        }
        for(int i = 2; i < n; i++){
            if (n % i == 0) {
                return false;
            }
        }
        return true;
    }


        首先,过滤一下小于等于 3 的数,因为小于等于3的自然数只有 2 和 3 是质数/ 素数。

        然后,我们只需要从 2 开始,一直到小于其自身,依次判断能否被 n 整除即可,能够整除则不是质数/ 素数,否则是质数/ 素数。

     

    2、优化方案:
       

    假设 n 是合数,必然存在 非1 的两个约数 p1 p2,其中 p1<=sqrt(n)p2>=sqrt(n)

    由此我们可以改进上述方法优化循环次数。如下:

    public static boolean isPrime(int n) {
        if (n <= 3) {
            return n > 1;
        }
        int sqrt = (int)Math.sqrt(n);
        for (int i = 2; i <= sqrt; i++) {
            if(n % i == 0) {
                return false;
            }
        }
        return true;
    }
    

    3、最优方案:
        质数还有一个不为人知的特性:                           

    /**
     * 恒等于 6x-1 或者 6x+1,其中 x 是大于等于1的自然数
     */

        基于这个理论我们不难推算出:

            a、能被 6 整除的,肯定不是质数/ 素数,可以肯定的是,6x 不是质数/ 素数;

            b、能被  2 / 3 整除的,肯定不是 质数/ 素数, 因此,6x+2 / 6x+3/ 6x+4  肯定也不是质数/ 素数;

    那么,就剩下 6x+16x+5 (即等同于6x-1) 可能是质数/ 素数了。

    得出方案:循环的步长可以设为 6,每次只判断 6 前后的两个数即可。

    public static boolean isPrime(int num) {
        if (num <= 3) {
            return num > 1;
        }
        // 不在6的倍数两侧的一定不是质数
        if (num % 6 != 1 && num % 6 != 5) {
            return false;
        }
        int sqrt = (int) Math.sqrt(num);
        for (int i = 5; i <= sqrt; i += 6) {
            if (num % i == 0 || num % (i + 2) == 0) {
                return false;
            }
        }
        return true;
    }


     

    展开全文
  • 求1到100中素数

    千次阅读 2019-09-09 23:47:54
    /** * 判断是否为素数 * 指在大于1的自然数,除了1和它本身以外不再有其他因数的自然数。 */ object PrimeNumber { ... //1到100中素数 val num = Array(1 to 100) for (x <- 0 to num(0).length...
    
    /**
     * 判断是否为素数
     * 指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
     */
    object PrimeNumber {
      def main(args: Array[String]): Unit = {
        //1到100中的素数
        val num = Array(1 to 100)
        for (x <- 0 to num(0).length) {
          if (check(x)) {
            println(s"$x 是素数")
          }
        }
      }
    
      /**
       * 校验方法
       * @param num
       * @return
       */
      def check(num: Int): Boolean = {
        var res: Boolean = false
        var a: Int = 0
        //必须大于1
        if (num > 1) {
          //2本身就是素数
          if (num == 2) {
            res = true
          } else {
            //从2开始,如果知道本身-1。如果能被整除,则不是,反之
            for (x <- 2 to num - 1) {
              if (num % x == 0) {
                return false
              } else {
                //最后一个等于当前数的最后一个,就是素数
                if (x == num - 1) {
                  res = true
                }
              }
            }
          }
        }
        //返回结果
        res
      }
    }
    

    欢迎关注我的公众号

    展开全文
  • 质数,又叫素数,是指个大于1的自然数,且除了1和它本身外,不能被其他自然数整除的数。换句话说,就是该数除了1和它本身以外,不再有其他的因数。1既不是质数又不是合数。求1到100之间的质数C语言求解如下:#...

    质数,又叫素数,是指一个大于1的自然数,且除了1和它本身外,不能被其他自然数整除的数。换句话说,就是该数除了1和它本身以外,不再有其他的因数。1既不是质数又不是合数。求1到100之间的质数C语言求解如下:

    #include

    #include

    int main(void)

    {

    int i,j,count;

    for(i = 1;i <= 100 ;i++){

    count = 0;

    for(j = 1 ; j <= i ; j ++){

    if( i%j == 0){

    count++;

    }

    }

    if(count == 2){

    printf("%d ",i);

    }

    }

    return 0;

    }

    f9198618367adab43fe65cd401132e1b8601e446.jpeg?token=af0b0e8fcc8c9e5fac2c9ceac6e55e9c

    对于用熟了C语言和Java语言的小伙伴,Python语法格式是值得注意的,特别注意格式缩进的问题,不然就会报错。求解1到100之间的质数Python实现如下:

    for i in range( 1 , 101):

    count = 0

    for j in range(1 ,i+1 ):

    if (i%j ==0):

    count = count + 1

    if count == 2:

    print(str(i) + " ")

    还要注意range范围的问题,比如打印输出1-10应该是这样:

    for i in range( 1 , 11):

    print(str(i) + " ")

    Python的语法规则的问题是我们应该注意的。

    展开全文
  • 有三种方法:1、输出1-100以内的素数:2、同样,也是输出1-100以内的素数,这个构造个数组,将其所有元素初始化为1,表示素数,这时取x从2开始,到100以内做循环。若x为素数,即prime[x]!=0,使得每个i*x位置元素...
  • (所谓素数就是除了1和它本身以外,不能再被别的整数整除,这种数称作素数(也称质数)。) void FUN6() { int i,j; for (i=0;i<=100;i++) { for (j=2;j<i;j++) { if (i%j!=0) { ...
  • 代码实现:# 定义个列表接受返回的质数list_num = []def primeNum(n, m):# 遍历n-m(含nm)间的所有数字并赋值给ifor i in range(n, m + 1):# 遍历2-i的数并赋值给xfor x in range(2, i):#...
  • PHP 1到100质数 (素数) 和

    千次阅读 2019-05-12 20:42:59
    1到100质数 $arr = array(); for ($i=2; $i<=100; $i++){ $str = false; for ($j=2; $i<=4 ? $j<$i : $j<=$i/2; $j++){ if ($i % $j == 0){ $str = false; ...
  • 质数又称素数个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数 基本判断思路 1、在一般领域,对正整数n,如果用2之间(包含2和)的所有整数去除,均无法整除,则n为质数。 2、质数大于...
  • 目的:计算2-100之间素数的个数,返回...代码实现:# 定义个列表接受返回的质数list_num = []def primeNum(n, m): # 遍历n-m(含nm)间的所有数字并赋值给i for i in range(n, m + 1): # 遍历2-i的数并赋值给x ...
  • //整体思路,因为直接求素数我们不好判断,所有 我们先提取不是质数储存集合 //然后在用整体元素除去不是质数的元素即使质数的元素 import java.util.ArrayList; public class PrimeNumber { public String ...
  • 【Java】求1到100以内的素数质数

    万次阅读 2017-04-24 10:00:07
    虽然我们都知道质数的概念:质数又称素数,是指个大于1的自然数,除了1和其自身外,没法被其他自然数整除的数。我当时蒙圈了,都是哪些数字嘛我还能一一说出来,至于多少个嘛,数数就好了。可是求和就浪费时间了...
  • 展开全部程序及解释如下:2113首先判断素数的算法:用5261个数分别去除4102以2sqrt(这个数),如果能被整除, 则表明此数不是素1653数,反之是素数。则有如下程序{ int m,k,i;for(m=1;mk+1,则说明没有数能整除m....
  • 输出1到100中质数

    千次阅读 2019-05-26 22:23:11
    质数个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数。 思路:设置个参数,当这个数字能被除了1和它自身外的数字整除的时候,参数变化。如果循环结束后参数没有变化,则此数字为质数。 public ...
  • php实现无限级评论功能_后端开发php实现无限级评论...目的:计算2-100之间素数的个数,返回结果什么是素数素数是指在大于1的自然数,除了1和它本身以外不再有其他因数的自然数。php去除数组的键名的方法_后端开...
  • c语言打印100到200之间的所有素数质数

    万次阅读 多人点赞 2019-01-22 17:12:22
    首先给定100~200之间的所有数,然后对每个数分别判断是否为素数,如果是,则输出,否则继续判断下个。直到一直判断200结束! 代码实现: int main() { int i, j; for (i = 100; i &amp;amp;amp;amp;...
  • javascript求1到100以内素数

    千次阅读 2019-07-19 16:30:56
    <!DOCTYPE html> <... <head> ...meta charset="UTF-8">...求1到100之间所有的质数</title> </head> <body> <script type="text/javascript"> for (...
  • Python入门学习小记:100以内素数/质数之和

    千次阅读 多人点赞 2019-09-23 22:59:02
    今天做到题利用for循环求100以内素数之和的题目,发现自己在Python的语法上遇到了问题:这个else是谁的?在此记录以防下次又做错啦。 题目很简单: 100以内素数之和 求100以内所有素数之和并输出。 ‪‬‪‬‪...
  • 今天研究了一下求1-100之内素数的方法,花了个多小时,为便以后研究记录下来。 方法1:   //利用筛法查找质数素数) #include "stdio.h" #include "math.h" int main() { int a[100]; int i,newp; ...
  • 个函数,判断0n素数的个数;比如:0-100,也可以0-100000的任意范围。具体函数声明为:void is_prime(n);#include &lt;stdio.h&gt; #include &lt;math.h&gt; int prime(int n){ int i ; ...
  • 质数(prime number)又称素数个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。 用单线程实现 for i in list1: flag = False for j in range(2, i): if i % j == 0: ...
  • 100到200的质数素数) 直接上 代码。 package test1; public class Prime100Continue { public static void main(String[] args) { System.out.println("***100到200的质数***"); int n=0; outer:for...
  • 使用java,求100以内的质数(素数)

    万次阅读 多人点赞 2018-10-18 14:53:57
    使用java,求100以内的质数(素数),做这道题目,有很多种方式!我代码写了3种,大家可以任选种!很多公司的面试的时候,笔试的时候很喜欢出这道题目。 (java的面试很多时候都会考这道题目,不光可以考察多层...
  • 质数(prime number)又称素数,有无限个。 质数定义为在大于1的自然数,除了1和它本身以外不再有其他因数。 // 封装个函数,实现判断个数是否是质数的功能 function isZS(m){ if(m === 1){ //...
  • php输出100以内素数质数

    千次阅读 2019-04-13 11:23:11
    for($i=2;$i<100;$i++){ if($i<10){ //当i<10时走这条 if($i%4<>0&&$i%6<>0&&$i%9<>0){ //如果i不能被4.6.9整除 ...
  • :什么是质数素数)? 二:求1-100之内所有的质数素数
  • 100以内质数素数)的算法梳理

    万次阅读 2018-08-12 15:29:54
    1、从2开始自身的-1的数找到个能整除的(从2开始自身开平方的数找到个能整除的)。 2、个合数一定可以分解成几个质数的乘积,也就是说,个数如果能被质数整除就是合数。(使用列表保存质数) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 63,879
精华内容 25,551
关键字:

一到100中的质数