Eratosthenes筛法求1——100000之间所有的素数(32位汇编语言)

原创 2013年12月06日 00:37:53
include io32.inc .dataarray byte 100001 dup(30h) .codestart:mov esi,2 ;用来记录某数,方便以后找所有可以被其整除的数xor edi,edi ;用来记录素数的个数 mov ebx,offset array ;ebx为数组array的指针 mov ecx,99998 ;ecx记录总数outlp: cmp byte ptr [ebx+esi],30h ;判断eax是否被标记为非素数 jne s3 mov edx,esi add edi,1 ;记录素数的个数加1s2: add edx,esi ; 即可以在以后找出其1、2、3……倍的所有数字 cmp edx,100000 jg s3 mov array[edx],31h ;找出所有被整除的数,并把它标记为1 jmp s2 s3: inc esi loop outlp ;ecx<-ecx-1 mov eax,edi ;输出素数的个数 call dispsid exit 0 end start
版权声明:本文为博主原创文章,未经博主允许不得转载。

筛法求素数的c++实现

  • 2010年12月06日 18:50
  • 429B
  • 下载

算法——筛法求素数

筛法素数打表很早就已经学过筛法的代码了。当时就是强行给记下代码了。现在结合一下思想,把最优化的办法找出来。筛法求素数不同于我们之前在C语言书上说的那两种方法。第一种是在[2,n)上不被整除。第二种是在...

利用筛法求素数

  • 2013年05月19日 00:13
  • 1KB
  • 下载

O(n)筛法求素数

  • 2015年01月31日 16:45
  • 454KB
  • 下载

欧拉线性筛法求素数(顺便实现欧拉函数的求值)

我们先来看一下最经典的埃拉特斯特尼筛法。时间复杂度为O(n loglog n) int ans[MAXN]; void Prime(int n) { int cnt=0; memset(prime...
  • NK_test
  • NK_test
  • 2015年05月29日 23:02
  • 7019

筛法求素数(源代码C++)

  • 2011年07月04日 10:43
  • 490B
  • 下载

数组之用筛法求N之内的素数

FOJ Problem 1075 分解素因子 (筛法求素数Problem 1075 分解素因子 Accept: 1650 Submit: 3102 Time Limit: 1000 mSe)

Problem 1075 分解素因子 Accept: 1650 Submit: 3102 Time Limit: 1000 mSec Memory Limit : 32768 KB ...

poj 2262 Goldbach's Conjecture -- 筛法求素数打表

Goldbach's Conjecture Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4...

欧拉线性筛法求素数 学习报告

筛素数的方法有很多,先说一下Eratosthenes筛法,这种筛法的思想不难理解,就是对不超过n的每个正整数p,依次删除p,2*p,3*p……(k-1)*p,k*p(k*p...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Eratosthenes筛法求1——100000之间所有的素数(32位汇编语言)
举报原因:
原因补充:

(最多只允许输入30个字)