🌺🌺① 计算斐波那契数列
🌺🌺② 计算阶乘
🌺🌺③ 判断一个数是否为素数
🌺🌺④ 实现斯特林公式
③ 判断一个数是否为素数
判断一个数是否为素数是另一个经典的数学问题,它可以使用编译期常量和计算来解决:
constexpr bool is_prime(int n) {
for (int i = 2; i*i <= n; ++i) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
static_assert(is_prime(7), "7 should be a prime number");
static_assert(!is_prime(10), "10 should not be a prime number");
return 0;
}
在上面的代码中,我们同样使用了constexpr关键字来定义一个编译期常量函数is_prime,该函数可以在编译时判断一个数是否为素数。在该函数中,我们使用了一个for循环来遍历2到n的平方根之间的数,如果n能够被任意一个数整除,则说明n不是素数,返回false;否则,说明n是素数,返回true。在main函数中,我们同样使用了static_assert来进行编译时断言,从而验证判断结果是否正确。
🌺🌺① 计算斐波那契数列
🌺🌺② 计算阶乘
🌺🌺③ 判断一个数是否为素数
🌺🌺④ 实现斯特林公式
🌺🌺