这是leetcode上的一道简单题,但其中用了不少的数学知识(数学yyds);
因为这篇博客是我的一篇笔记,用来记录平时积累的知识。
而最近比较大的收获就是下面这个判断质数和计算质数个数的算法,这个算法的详细介绍来自leetcode题解。
以下附上实现代码(依然源自leetcode)
int countPrimes(int n) {
vector<int> isPrime(n, 1);
int ans = 0;
for (int i = 2; i < n; ++i) {
if (isPrime[i]) {
ans += 1;
if ((long long)i * i < n) {
for (int j = i * i; j < n; j += i) {
isPrime[j] = 0;
}
}
}
}
return ans;
}
共勉!