需求:用“埃氏筛法”求2~100以内的素数。2~100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,……依此类推,最后剩下的就是素数。(JAVA语言编写)
埃氏筛选:要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。
详细步骤:求2-N中所有素数
1.定义一个数组a[100],放置2 3 4 5 6 7 8 9 10...............100.
2.数组中的每一个数都除以2,如果能被整除的除2之外的数组元素都赋值为0。剩余
2 3 5 7 9 11...........
3.同样除以3,能被整除的元素不是素数,再赋值为0.剩余2 5 7 11 13 17........
4.依次再除以5,7,.......。直到除以11时,此时11大于根号n(此时n=100)。
埃氏筛选:要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。
详细步骤:求2-N中所有素数
1.定义一个数组a[100],放置2 3 4 5 6 7 8 9 10...............100.
2.数组中的每一个数都除以2,如果能被整除的除2之外的数组元素都赋值为0。剩余
2 3 5 7 9 11...........
3.同样除以3,能被整除的元素不是素数,再赋值为0.剩余2 5 7 11 13 17........
4.依次再除以5,7,.......。直到除以11时,此时11大于根号n(此时n=100)。
5.最后把数组中所有不为0的数输出,就得到n以内