zoukankan      html  css  js  c++  java
  • 获取某个数内的质数

    思路:

    1,排除传入参数为小于2的数(if(param < 2)return;);

    2,建立有一个元素2的数组(let arr = [2]);

    3,建立一个初始值为3(i = 3),最大值为传入参数的循环(i <= param),注意偶数不可能为指数,所以循环的时候直接去掉偶数,直接循环奇数(i += 2);

    4,定义当前循环的标记(flag = true);

    5,建立一个初始值为3(j = 3),最大值为当前值(j < i),注意能被偶数整出的数就能被2整除,所以排除所有偶数,直接循环奇数(j += 2);

    6,判断当前值i是否能被3~i之间的某个奇数整除(i%j === 0),如果整除就flag = false 并且退出当前循环(break);

    7,最后在外部循环最后位置进行判断,如果flag有效,就将该值push进数组(if(flag){arr.push(i)})

    代码:

    function primeNum(param){
    	if(param < 2)return ;
    	let arr = [2];
    	for(let i = 3; i <= param;i += 2){
    		let flag = true;
    		for(let j = 3;j < i; j += 2){
    			if(i%j === 0){
    				flag = false;
    				break ;
    			}
    		}
    		if(flag)arr.push(i);
    	}
    	return arr;
    }

    测试:

    console.log(primeNum(100));//[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
    console.log(primeNum(3));//[2,3]

    注意:

    1,两次循环都只用循环奇数,减少循环次数

    2,在循环开始就将2排除

    3,当前循环的标记flag,在外部循环push

    其他

    [我的博客,欢迎交流!](http://rattenking.gitee.io/stone/index.html)

    [我的CSDN博客,欢迎交流!](https://blog.csdn.net/m0_38082783)

    [微信小程序专栏](https://blog.csdn.net/column/details/18335.html)

    [前端笔记专栏](https://blog.csdn.net/column/details/18321.html)

    [微信小程序实现部分高德地图功能的DEMO下载](http://download.csdn.net/download/m0_38082783/10244082)

    [微信小程序实现MUI的部分效果的DEMO下载](http://download.csdn.net/download/m0_38082783/10196944)

    [微信小程序实现MUI的GIT项目地址](https://github.com/Rattenking/WXTUI-DEMO)

    [微信小程序实例列表](http://blog.csdn.net/m0_38082783/article/details/78853722)

    [前端笔记列表](http://blog.csdn.net/m0_38082783/article/details/79208205)

    [游戏列表](http://blog.csdn.net/m0_38082783/article/details/79035621)

  • 相关阅读:
    如何判断touch到子视图或离开视图
    NSString属性声明中的copy和retain区别
    iOS创建PDF文件
    NSString的内存分配及管理
    清除新微博Cookie
    Object System (对象系统)
    基于组件的游戏编程
    继电器srd05vdcslc
    JavaScript专题(二):深入理解iframe
    Eclipse插件安装maven svn ibatis openExplorer PropertiesEditor
  • 原文地址:https://www.cnblogs.com/linewman/p/9918544.html
Copyright © 2011-2022 走看看