最近在阅读Google的一个开源项目,发现了一些细碎的知识,记录下来以备查询。
这个函数的作用是:得到当前数开始的下一个质数(包含当前数)
效果如下:
输入:输出
1:1
2:2
4:5
9:11
15:17
#include <math.h>
size_t get_odd_next(size_t value) {
size_t v_next = value;
while (true) {
size_t v_next_sqrt = (size_t)sqrt(v_next);
bool is_odd = true;
for (size_t v_dv = 2; v_dv < v_next_sqrt + 1; v_dv++) {
if (v_next % v_dv == 0) {
is_odd = false;
break;
}
}
if (is_odd)
return v_next;
v_next++;
}
}