您的位置:首页 > 其它

打印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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐