打印1000内的所有素数,算法复杂度O(n)
2009-07-20 14:27
330 查看
#include <stdio.h> static bool result[10000] = {0}; void fun() { bool* p = &result[0]; for (int i = 0; i < 10000; i++) *p++ = true; int t; for (int i = 2; i < 10000; i++) { if (!result[i]) continue; for (int j = 2; j < 10000; j++) { t = i * j; if (t > 10000) break; result[t] = false; } } for (int i = 0; i < 10000; i++) if (result[i]) printf("%d ", i); } int main() { char s[] = "//123456/x21233456/t"; printf("%d,||%s", strlen(s), s); fun(); return 0; }
相关文章推荐
- 算法15:打印中两个整数范围内的所有素数,例如:(12, 15) ->13
- 打印出0-1000内的所有素数
- C语言从键盘输入两个数,求两个数之间素数的个数并打印所有素数(定义法)
- Python打印100以内所有素数
- Program in Lua中图算法的改进(打印所有图路径)
- 输出所有小于等于n的素数(要求1)每行输出10个(要求2)较优的算法
- 第十一周项目六 (1+)输出1000内所有素数
- 算法--打印素数--死记硬背也要牢记
- 【算法题】打印二元查找树中元素和等于指定数的所有路径
- 【算法-java】打印出二叉树中结点值的和为输入整数的所有路径
- 打印从0到1000的所有素数
- 一串首尾相连的珠子(m 个),有N 种颜色(N<=10),设计一个算法,取出其中一段,要求包含所有N 中颜色,并使长度最短。并分析时间复杂度与空间复杂度。
- [pascal]对“求1-100之间的所有素数”的三种不同循环结构算法的分析
- 快速的素数算法(LogN的复杂度哦)---------1
- 左神算法 不重复打印排序数组中相加和为给定值的所有二元组
- [算法]打印出所有的“水仙花数”
- 排列组合-打印出一个数组的元素的所有排列方式-算法
- 一串首尾相连的珠子(m 个),有N 种颜色(N<=10),设计一个算法,取出其中一段,要求包含所有N 中颜色,并使长度最短。并分析时间复杂度与空间复杂度。
- 输出打印101-1000之间所有的素数
- 找出并打印101-200间的所有素数,计算总个数