C语言筛法求素数
- 格式:pdf
- 大小:204.64 KB
- 文档页数:6
2012-11-7
1/72 111
筛选法求素数
的数是5,把5留下,再把5后面所有能被5整除的数都划去。这 样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是 不超过N的全部素数。因为希腊人是把数写在涂腊的板上,每要 划去一个数,就在上面记以小点,寻求素数的工作完毕后,这 许多小点就像一个筛子,所以就素数。 筛法,是求不超过自然数N(N>1)的所有素数的一种方法。据
说是古希腊的埃拉托斯特尼(约公元前274~194年)发明的,
又称埃拉托斯特尼筛法。 具体做法是:先把N个自然数按次序排列起来。1不是素数,也 不是合数,要划去。第二个数2是素数留下来,而把2后面所有 能被2整除的数都划去。2后面第一个没划去的数是3,把3留下, 再把3后面所有能被3整除的数都划去。3后面第一个没划去
此题亦可选作其中至少2两项功能
2012-11-7 6
“埃拉托斯特尼筛法”,简称“筛法”。
2012-11-7
2/72 222
筛选法求素数
2 11 21 31 12 22 32
3 13 23 33
4 14 24 34
5 15 25 35
6 16 26 36
7 17 27 37
8 18 28 38
9 19 29 39
10 20 30 40
41
42
43
44
45
46
47
48
49
50
2012-11-7
333
筛选法求素数
2012-11-7
4/72 444
筛选法求素数
2012-11-7
5/72 555
思考题:
产生80个【1,500】之间的随机整数,完成以下功能:
1.输出这批数,每行输出16个数;
2.求其中的最大值和最小值,最大值有几个; 3.求这批数的平均值,小于平均值的数有几个; 4.求这批数中的素数及其个数; 5.将这批数中的素数按由大到小的顺序排序; 可制作一个菜单,提供上述选项功能。 注意:产生的随机数应在执行菜单之前。