📄 prime.cpp
字号:
#include "iostream"
#include "math.h"
using namespace std;
inline long Strike(bool composite[], long i,
long stride, long limit)
{
for (; i <= limit; i += stride)
{
composite[i] = true;
}
return i;
}
long CacheUnSieve(long n)
{
long count = 0;
long m = (long)sqrt((double)n);
bool* composite = new bool[n+1];
memset(composite, 0, n);
for (long i = 2; i <= m; ++i)
{
if (!composite[i])
{
++count;
int count=Strike(composite, 2*i, i, n);
cout<<count<<endl;
}
}
for (long i = m+1; i <= n; ++i)
{
if (!composite[i])
{
++count;
}
}
delete[] composite;
return count;
}
void main()
{
cout<<"input number:"<<endl;
int n;
cin>>n;
int count = CacheUnSieve(n);
cout<<count<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -