用分享的方式成长,用有趣的眼光看世界。
欢迎来到22 26 25的博客 !
热爱编码、算法、知识总结,不定期更新有趣、有料、有营养内容。 让我们共同学习,共同进步。
首发见 知乎 ,如何优雅地利用c++编程从1乘到20?
数学家版本:
#include <iostream>
#include <cmath>
int main()
{
std::cout << std::tgamma(20 + 1) << std::endl;
}
语言学家版本:
#include <iostream>
#include <utility>
template<std::size_t...I> constexpr auto foo(std::index_sequence<I...>) { return ((I+1) * ...); }
int main()
{
std::cout << foo(std::make_index_sequence<20>()) << std::endl;
}
“快速”版本:
#include <iostream>
#include <future>
long long foo(int a, int b, std::future<long long> last =
std::async(std::integral_constant<long long, 1>())) {
return a == b ? a * last.get() : foo((a + b) / 2 + 1, b, std::async(foo, a, (a + b) /
2, std::move(last)));
}
int main() {
std::cout << foo(1, 20) << std::endl;
}
历史学家版本:
#include <stdio.

最低0.47元/天 解锁文章
4657

被折叠的 条评论
为什么被折叠?



