艾氏筛法研究

Prime.java 计算一亿以内素数的个数 暴力法 | 暴力法优化(取中间数)|暴力法优化(取平方根)|埃氏筛法|未知算法。五种算法的效率依次递增。在同一个Prime.java文件中都可以测试。 立即下载

计算输出1亿以内的质数.当然一上来这个所有的偶数干掉.2直接输出.

这个是我的代码.最后步长330130093  也就是这么多步.

下面的是老师的代码 步长99151769  初步计算速度是我的三倍.姜还是老的辣.我的其实还有优化的空间.暂时不去想了.备考去.

#include"stdio.h"
#include"math.h"

#define N 100000000
bool a[N];
void main()
{
 int i,j=1;
 long ljq=0;

    for(i=1;i<=(N-1)/2;i++)
 {a[2*i+1]=true;}//C语言中布尔数组默认的是false
    for(i=3;i<=int(sqrt(N));i+=2)
 {
 j=int((N-1)/i+1);
 
 while(j>=i)
  {
  if(i*j>N)
   j--;
  a[i*j]=false;
  j--;
  while(false==a[j])
  {j--;ljq++;}
  }
 
 }
 j=3;
 printf("2/t");
 while(j<10000)
 {
  if(true==a[j])
  {printf("%d/t",j);}

  j++;
 }
 printf("/n");
 printf("步长%d/n",ljq);
}

这个是已知的最优算法.原理还没想

/*素数筛选法之优化算法B*/
# include<stdio.h>
# include<math.h>
# define N 100000000
bool prime[N];
int main()
{  int i,j;
long ljq=0;
for(i=0;i<=(N-3)/2;i++)/*减低算法时间复杂度近一半*/
prime[i]=true;
for(i=0;i<=(sqrt(N)-3)/2;i++)/*减低算法时间复杂度近一半*/
{
 if(prime[i]==true)
 for(j=i+i*(2*i+5)+3;j<=(N-3)/2;j=j+2*i+3)
 {prime[j]=false;ljq++;}
 /*减低算法时间复杂度之处,比A减低得还要多*/
 }
printf("%d/t",2);   /*2非奇数故未在循环算法之内,但2是素数,故先输出*/

for(i=0;i<5000;i++)
/*输出2*n以内的素数,此处只输出10000以内,耗时在4秒内【由此可见此优化算法比最简单筛选法好】;
我拿秒表测试过,即使是将一亿内的素数输出,整个过程也就42秒【比优化A中的50秒要快,当N数量级
更大时,此处的优点将更加凸显,可见它比A算法好】(不将cmd屏幕放在当前位置,42秒,若将其放
在当前屏幕,看其逐条输出运算结果,就慢些,视我们讲其放置为当前窗口的情况而定!)*/
if(prime[i]==true)
printf("%d/t",2*i+3);
printf("/n");
printf("步长%d",ljq);
return 0;
}

艾氏筛法判别素数 一个小代码,判断素数 立即下载

相关推荐

ubuntu打实时内核补丁教程以及安装后显卡驱动问题解决方法

在ubuntu20.04上安装成功,亲测有效 目录ubuntu打实时内核补丁教程1、下载实时内核2、解压和打补丁(patch)3、安装依赖和编译安装4、修改一些文件,便于之后切换内核5、重启电脑实时内核版本下安装nvidia显卡驱动的问题1、先切换回之前的内核(非实时)版本2、重装之前内核(非实时)版本下的显卡驱动3、切换回实时内核(按照上面的步骤)4、在实时内核下安装显卡驱动 ubuntu打实时内核补丁教程 安装目标系统:ubuntu20.04 电脑配置:i9,2080ti 1、下载实时内核 打开终端,输

weixin_39275295的博客 7996

1亿以内素数的个数_[除余法]求一亿以内的质数

优化一最原始的除余法就是对于 $ k \in \lbrack 2,n \rbrack $ 把 $ \lbrack 2,k \rbrack $ 都试一遍,但这种效率显然非常低下,几乎大家都知道集合可以缩小为 $ \lbrack 2,\sqrt{k} \rbrack $,那么可以得到如下代码:for (i = 3; i <= n; i++) {for (j = 2; (j * j <= i...

weixin_29231027的博客 397

数学建模--十大经典常用算法

数学建模十大算法:灰色预测,蒙特卡洛,遗传算法,模拟退火法,组合算法,神经网络,动态规划,聚类算法,类比法,概率算法,Floyd算法

qq_51533426的博客 5647

求一亿以内的回文质数(素数)

求一亿以内的回文素(质)数 先求质数再判断回文,效率低下;所以先构造回文数,再判断质数。 偶数位的回文数都能被11整除,自己证明去。所以,偶数位的回文数除了11都是合数。 观察偶数位的回文数,提取所有奇数位的数字,与提取所有偶数位的数字,正好是相反的顺序。 因此,偶数位数和等于奇数位数和,从而差等于0,而0能被11整除,因此这个回文数,可以被11整除 例:1331 13 31 或者 a...

南 墙 1万+

202505系分论文《论软件系统测试方法及应用》

本文以软件测试方法为切入点,重点论述分层协作、智能赋能、全流程三个维度下传统测试与自动化测试的融合应用。

pccai的博客 1693

ray.tune调参学习笔记0:调参基本流程

本篇总结python中使用tune调参的整体流程

Mr_111000的专栏 2623

用python求1亿以内的全部质数(素数)

Python求1亿以内全部质数

DragonsUyz的博客 487

避坑指南:大疆智图集群建模中5个90%新手会踩的雷(附错误日志分析)

本文针对大疆智图集群建模功能,总结了新手在部署和运行时极易遇到的五个常见问题,包括共享目录权限与路径、主从节点版本一致性、临时存储路径设置、网络与防火墙配置以及错误日志分析。文章结合具体错误日志,提供了详细的排查步骤和解决方案,旨在帮助用户快速定位并解决问题,充分发挥集群建模的效率优势。

weixin_29238147的博客 335

艾氏筛选法筛选素数

const int maxn = 700000; //1 到10000007共有60万多个素数 const int maxnu = 10000007; //整数范围内 bool is_prime[maxn]; //判断是否为素数 int prime[maxnu]; //保存素数 int p; //保存素数的个数 void seive() { for(int i = 0...

fuzekun的博客 440

Uniapp-APP后台保活插件(安卓后台保活)

Uniapp-APP后台保活插件(安卓后台保活)亲测有效!

weixin_57844432的博客 1万+

《FreeRTOS 入门与实战》第2章:开发环境搭建(实战)

STM32CubeIDE工程创建与FreeRTOS移植J-Link调试环境搭建SystemView可视化跟踪配置。

2301_79143213的博客 1733

埃氏筛选法求解质数

一、埃氏筛选法 埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。 要得到自然数n以内的全部素数,必须把不大于 的所有素数的倍数剔除,剩下的就是素数。 给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个质数,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一个质数5筛,把5留下,把5的倍数剔除掉;不断重复下去…。 二、题解描述 三

qq_43700837的博客 2960

Android编译系统——Android.bp语法介绍(十五)

Android.bp 是 Android 构建系统(Android Build System)中的配置文件,用于描述如何编译和打包项目中的模块。它是用 Blueprint 编写的,其语法类似于 JSON,但专为 Android 编译系统设计,提供了更高效、灵活的模块化管理。

小旭的专栏 939

牛客2025秋季算法编程训练联赛3-基础组

数组上任意一对处于link状态的无序点对(即(u,v)和(v,u)被认为是同一对)会产生dis(u,v)的link能量,dis(u,v)为数组上u到v的距离。题目让我们求从坐标(1,1)走到(n,m)的路径有多少条,我们逆向思维,求从(n,m)到(1,1)的路径有多少条,假设此次是向下走,那么dp[i][j]走到dp[1][1]的路径条数是dp[i - 1][j]的路径条数,其他操作同理。例如20的因子有1,2,4,5,10,20,其中4,10,20为合数,它有3个合数因子,就称20是一个 “3合因子数”

2403_88688613的博客 2001

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

埃氏筛选法

埃氏筛选法 思想:从2到n,2是最小的素数,将2的倍数划掉,最小的就剩下3,3也是素数,那将3的倍数也划掉,以此类推。直接看代码 ```c #include<stdio.h> int n=100000; int main() { int flag[n]; for(int i=0;i<n;i++){ flag[i]=1; } flag[0]=flag[1]=0; for(int i=2;i<n;i++){ if(flag[i]==1){ printf("%d\

weixin_45598510的博客 1439

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

质数口袋

质数口袋:小A 有一个质数口袋,里面可以装各个质数。他从 2 开始,依次判断各个自然数是不是质数,如果是质数就会把这个数字装入口袋。口袋的负载量就是口袋里的所有数字之和。但是口袋的承重量有限,不能装得下总和超过 L(1\le L\le100000)L(1≤L≤100000) 的质数。给出 LL,请问口袋里能装下几个质数?将这些质数从小往大输出,然后输出最多能装下的质数个数,所有数字之间有一空行。 #include <stdio.h> #include <stdlib.h> int m

weixin_52691840的博客 2098

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

筛法(埃筛、线性筛)学习笔记

Eratothenes筛法、埃筛及时间、空间效率优化 Euler筛法、Euler筛法的应用(求欧拉函数、约数个数函数、约数和函数)

zhanxufeng的博客 4595

素数_埃氏筛法&&线性筛(欧拉筛法)【详解】

埃氏筛法: 整数的唯一分解定理: 任何一个大于1的自然数 N,如果N不为质数,都可以唯一分解成有限个质数的乘积N=P1 ^ a1 · P2 ^ a2 · P3 ^ a3 · … · Pn ^ an ,这里P1<P2<P3<…<Pn均为质数,其诸指数 ai 是正整数。 (:当然质数的话直接就是质数本身) 埃氏筛法的思想:对于不超过N的素数p,删除2p,3p,4p…,当处理完所...

L_X_ 2806

埃氏筛法和欧拉筛法

埃氏筛法和欧拉筛法,小白看过来。

qq_68004012的博客 3346

艾氏筛法搜索素数

#include int a[2000001]; int main() { int i,j; for(i=2;i<=2000000;i++) a[i]=i; a[1]=0;//0和1都不是素数,所以赋值删除标志0 for(i=2;i<=2000000;i++) { if(a[i]!=0) for(j=i+i;j<=2000000;j+=i) a[j]=0; //加

qq_39090674的博客 884

埃氏筛、欧拉筛详解

埃氏筛、欧拉筛

以太以北 5650

POJ:3292-Semi-prime H-numbers(艾氏筛选法拓展)

Semi-prime H-numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10466 Accepted: 4665 Description This problem is based on an exercise of David Hilbert, who pedagogica...

二营长的意大利炮友 304

3种筛质法:朴素筛法,埃氏筛法,线性筛法

从2开始枚举所有的数,将每个数的倍数筛掉st[i]=1将st[i]==0的数加入数组primes[cnt++]=i。

2301_80253025的博客 1168

埃氏筛法与欧拉筛(超级详解)

埃氏筛法与欧拉筛(超级详解)

YZcheng_plus的博客 2万+

欧拉筛和埃氏筛(超详细分析筛选过程,差异,证明,时间比较)

(操作:对于每一个 i 乘上已经得到的所有素数,如果遇见了i 可以整除的质数,跳出循环,对于i+1进行操作)将2*4得到的值(注意这里对于3*4没有进行筛选,因为4可以整除2,那么就不需要筛后面的数)将2*2、3*2、4*2、5*2、、、、、、10000*2 所有得到的值。将2*3、3*3、4*3、5*3、、、、、、6666*3 所有得到的值。将2*5、3*5、4*5、5*5、、、、、、4000*5 所有得到的值。最终我们得到的所有的isprime[i] 里面为true 的即为素数。

weixin_60536621的博客 2122

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 297
上一篇: 面试中常见的java问题的代码
下一篇: 人工智能.黑白棋规则
blacksapper
博客等级 码龄19年 20粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值