java生成大素数_代码优化 - 生成素数
如果数字为2,则返回true;如果数字可被2整除,则返回false .
开始迭代3,而不是2.使用两步 .
迭代到数字的平方根,而不是数字减1 .
def prime?(number)
return true if number == 2
return false if number <= 1 or number % 2 == 0
(3..Math.sqrt(number)).step(2) do |n|
return false if number % n == 0
end
true
end
@Technation解释说,这会快得多,但仍然不会很快 .
以下是使用Sieve of Eratosthenes built into Ruby的方法 . 您需要将所有素数预先计算到最大值,这将非常快,然后选择每个范围内的素数 .
require 'prime'
ranges = Array.new(gets.strip.to_i) do
min, max = gets.strip.split.map(&:to_i)
Range.new(min, max)
end
primes = Prime.each(ranges.map(&:max).max, Prime::EratosthenesGenerator.new)
ranges.each do |range|
primes.each do |prime|
next if prime < range.min
break if prime > range.max
puts prime
end
primes.rewind
puts "\n"
end
以下是各种解决方案在50000 200000范围内的性能:
你的原始素数?功能:1m49.639s
我修改了素数?功能:0m0.687s
Prime :: EratosthenesGenerator:0m0.221s
处理的范围越多,Prime :: EratosthenesGenerator方法应该越快 .
java生成大素数_代码优化 - 生成素数相关推荐
- latex自动生成中文目录_自动生成工作表目录三种方法,看哪种适合你?
如果在一个工作簿内有很多工作表需要去维护管理,一个个的查找显然是很麻烦的,建立一个工作表的导航目录无疑是最便捷的方法. 下面介绍三种生成工作表目录的方法: 一.利用宏表函数生成可导航目录 第1步:定义 ...
- java随机数带字母_随机生成一组随机数(带字母和数字)
随机生成一组随机数(带字母和数字) package com.qfx.util; import java.util.Random; public class CharacterUtils { // 得到 ...
- python生成大文件_用Python生成非常大的XML文件?
也许您可以使用模板引擎而不是自己生成/构建xml?在 例如,Genshi基于xml,支持流式输出.一个非常基本的例子:from genshi.template import MarkupTemplat ...
- java开发防伪码_企业编码生成系统智能批量生成带数据分析功能的防伪码
一 代码 # 生成含数据分析功能防伪编码函数,参数schoice设置输出的文件名称 def scode5(schoice): default_dir = r"mrsoft.mri" ...
- java生成动态验证码_动态生成验证码案例
servlet代码 package cn.guizimo.web.servlet; import javax.imageio.ImageIO; import javax.servlet.Servlet ...
- java xsl生成word文件_导出生成xsl文件
public String expData() throws Exception{ List list = subAreaService.findAll(); HSSFWorkbook hssf = ...
- java 生成正弦波声音_如何生成一个正弦波声音曲线?
Why would you want to create a sine wave? Creating a sine wave is useful for a number of things. How ...
- 通过.obj生成2d图像_自动生成 凹凸法线灯贴图 插件
CrazyBump疯狂凹凸自动生成凹凸法线灯贴图 CrazyBump是一款专业的法线贴图制作软件,人们一般称之为超级法线凹凸生成软件,用来做材质中贴图中的凹凸和法线贴图是非常不错的,CrazyBump ...
- datafactory生成mysql数据_测试数据生成工具DataFactory的使用
DATA FACTORY的使用 Data Factor y是一个数据库测试数据生成工具. Data Factory主要可以利用在以下两个方面:1.按照数据表中要求数据的格式,快速产生标准或不标准的测试 ...
最新文章
- docker探索-使用docker service管理swarm(十一 )
- 搭建App主流框架_纯代码搭建(OC)
- 【趣话编程】一个整数+1引发的灾难
- opensource项目_最佳Opensource.com:教育
- (47)FPGA面试题LATCH和DFF的区别
- python遍历文件_python3 遍历文件夹目录所有文件
- powerbi python词云图_使用Power BI制作可爱的词云图
- 21天Jenkins打卡Day6安装插件
- python requests session post_requests.session()发送请求 和使用requests直接发送请求的区别...
- mysql学生管理系统背景_学生基本系统管理
- 【软考】信息化和信息系统复习指南
- matlab在xrd中的应用,XRD物相分析(Jade软件的应用).pdf
- 如何防范动态调试(Anti-Debug)(SoftICE篇)
- json datasource使用
- Facebook批量养号分享
- 职场菜鸟如何更好的提升自己?
- OpenGL/C++实战——C++实现太阳系行星系统
- Echart + 百度地图实现区域聚合(Vue版)
- string.Equals和tring.Compare比较字符串(并且忽略大小写)
- ICO 项目被一刀切后,是时候深入探索区块链技术的应用了
热门文章
- DatagridView 常用功能代码
- 装逼神器,5 行 Python 代码 实现一键批量扣图,你get到了吗
- HTML5 API详解(16):web socket 全双工通信
- 服务器响应401,服务器返回HTTP响应代码:401,URL:https
- 计算机扩展卡,对于电脑来说, 扩展卡是什么?与接口又有什么关系呢?
- 空间插值方法对比整理
- iBiology |专业的生信科普网站
- fcpx视觉特效插件包 - FxFactory for Mac 支持M1芯片
- motionVFX mRevealer Glitch Mac(fcpx插件:30个故障干扰马赛克毛刺失真特效)
- html用函数输出nn乘法表,第5讲 PHP编程.ppt