- 和果子一起来做题-Project Euler-15-R语言版本
- 和果子一起来做题-Project Euler-05-R语言版本
- 和果子一起来做题-Project Euler-03-R语言版本
- 和果子一起来做题-Project Euler-04-R语言版本
- 和果子一起来做题-Project Euler-01-R语言版本
- 和果子一起来做题-Project Euler-02-R语言版本
- 和果子一起来做题-Project Euler-06-R语言版本
- 和果子一起来做题-Project Euler-08-R语言版本
- 和果子一起来做题-Project Euler-10-R语言版本
- 和果子一起来做题-Project Euler-16-R语言版本
Starting in the top left corner of a 2×2 grid, and only being able to move to the right and down, there are exactly 6 routes to the bottom right corner.
mark
How many such routes are there through a 20×20 grid?
把向右看成0,向下看成1,那么问题转化成40个位置中,放入20个1,有多少种可能?
就是从40中选20的排列组合
在R语言中,组合数的计算:从 N 中选择 K 个用函数 choose(N,K)
> choose(40,20)
[1] 137846528820
讲到组合就要提起阶乘,R语言的阶乘的计算至少有三种方法:
1.prod(1:N):这个在之前已经介绍过
2.factorial(N):
> factorial(4)
[1] 24
> factorial(3)
[1] 6
> factorial(10)
[1] 3628800
3.gamma(N+1): 不建议使用,理解起来容易混淆,gamma(4)实际上是3的阶乘
> gamma(4)
[1] 6
> gamma(5)
[1] 24
> gamma(3)
[1] 2
已经有了choose函数可以做排列组合,我们还可以自己写一个
网友评论