首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可能的不同组合

可能的不同组合
EN

Code Golf用户
提问于 2018-09-30 20:10:45
回答 8查看 1.2K关注 0票数 9

问题

给定一个值n,想象在引用(0,0)到(2n,0)中刻有的山地景观。斜坡之间不应该有空白,山也不应该下降到x轴以下。需要解决的问题是:给定n(定义景观的大小)和峰数k (k总是小于或等于n),那么有多少山可以与k峰结合?

输入

N代表景观的宽度,k代表山峰的数目。

输出

可能的组合数量。

示例

给定n=3和k=2,答案是三个组合。

给出一个可视化示例,它们如下所示:

代码语言:javascript
复制
   /\     /\      /\/\
/\/  \   /  \/\  /    \

这三个组合可能使用6 (3*2)个位置和2个峰值。

编辑:-更多例子-

代码语言:javascript
复制
n  k  result
2  1  1
4  1  1
4  3  6
5  2  10

获胜条件

适用标准的密码-高尔夫规则。最短的提交(以字节为单位)获胜。

EN

回答 8

Code Golf用户

发布于 2018-09-30 22:28:07

Python,40字节

代码语言:javascript
复制
f=lambda n,k:k<2or~-n*n*f(n-1,k-1)/~-k/k

在网上试试!

使用递归a_{n,1} = 1a_{n,k} = \frac{n(n-1)}{k(k-1)}a_{n-1,k-1}

票数 7
EN

Code Golf用户

发布于 2018-09-30 21:31:13

果冻,7字节

代码语言:javascript
复制
cⱮṫ-P÷⁸

在网上试试!

接受输入作为n,然后是k。使用公式

N(n,k)=\frac{1}{n}\binom{n}{k}\binom{n}{k-1}

我在维基百科上找到的。

代码语言:javascript
复制
cⱮṫ-P÷⁸
c        Binomial coefficient of n and...
 Ɱ       each of 1..k
  ṫ-     Keep the last two. ṫ is tail, - is -1.
    P    Product of the two numbers.
     ÷   Divide by
      ⁸  n.

7字节

每一行都是自己工作的。

代码语言:javascript
复制
,’$c@P÷
c@€ṫ-P÷

接受输入作为k,然后是n

7字节

代码语言:javascript
复制
cⱮ×ƝṪ÷⁸
  • 感谢乔纳森·艾伦的这一次。
票数 6
EN

Code Golf用户

发布于 2018-10-01 15:49:16

Wolfram语言(数学),27字节

三个版本,全部相同的长度:

代码语言:javascript
复制
(b=Binomial)@##b[#,#2-1]/#&

Binomial@##^2#2/(#-#2+1)/#&

1/(Beta[#2,d=#-#2+1]^2d##)&

在网上试试! (只是第一个版本,但您可以复制和粘贴以尝试其他版本)。

所有这些都是\frac{n!(n-1)!}{k!(k-1)!(n-k)!(n-k-1)!}上的某种变体,这是一直在运行的公式。我希望用Beta函数来实现,这是一种二项式的相互作用,但后来发生了太多的分裂。

票数 3
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/173081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档