1.3 Go coding in go way.pdf


立即下载 真不错
2025-03-15
numbers 素数
1.2 MB

Go coding in go way
GopherChina 2017
15 April 2017
Tony Bai
Neusoft
人类语言与思维:萨丕尔-沃夫假说
"语言影响/决定思维" - 萨丕尔-沃夫假说
("Language inuences/determines thought" - Sapir-Whorf hypothesis)
编程语言与思维:图灵奖得主的认知
"A language that doesn't aect the way you think about programming is not worth
knowing." - Alan J. Perlis(艾伦·佩利),首届图灵奖得主
问题: 素数筛
素数是一个自然数,它具有两个截然不同的自然数除数:1和它本身。 要找到小于或等于给定
整数n的素数,我们可以使用Eratosthenes' sieve(埃拉托斯特尼)算法 (https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes)

算法描述:先用最小的素数2去筛,把2的倍数剔除掉;下一个未筛除的数就是素数(这里是3)。
再用这个素数3去筛,筛除掉3的倍数... 这样不断重复下去,直到筛完为止。
sieve.c //基于数组的内存操作
void sieve() {
int c, i,j,numbers[LIMIT], primes[PRIMES];
for (i=0;i numbers[i]=i+2; /*fill the array with natural numbers*/
}
for (i=0;i if (numbers[i]!=-1){
for (j=2*numbers[i]-2;j numbers[j]=-1; /*sieve the non-primes*/
}
}
c = j = 0;
for (i=0;i

numbers/素数/ numbers/素数/
-1 条回复
登录 后才能参与评论
-->