Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-10-09
年龄: 37
帖子: 1
声望力: 0 ![]() |
![]()
今天老师让用 Sieve of Eratosthenes 这个算法去求出所有的prime numbers。 比如你input 50, 这个方程就会return 所有的prime number。 老师给了指导:
1. Create the list {2, 3, 4, . . . , N}. 2. Set p = 2, the smallest prime number. 3. Delete all multiples of p that are ≤ N. 4. Replace p with the first number of the remaining list that is ≥ p; this number is the next largest prime ≤ N. 5. Repeat steps 3 and 4 until p2 > N. It is straightforward to check that all the remaining numbers on the list are prime. 也就是先创建一个array,然后从p=2开始,将所有能整除p的数去掉,但是怎么在已经建立好的array里去掉某一项?我是第一次接触这个,能给能给个示范怎么编这个程序? |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-09-14
年龄: 43
帖子: 351
声望力: 24 ![]() |
![]()
a=[1 2 3];a(2)=[]
__________________
qq604443022 |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2008-11-27
年龄: 54
帖子: 7
声望力: 0 ![]() |
![]()
primes(N) 函数可返回你的结果,具体算法实现可用open primes命令打开primes函数文件看看。
|
![]() |
![]() |