首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有多少种独特的方法可以在足球比赛中得分呢?

有多少种独特的方法可以在足球比赛中得分呢?
EN

Code Golf用户
提问于 2014-01-06 22:28:55
回答 2查看 5.9K关注 0票数 2

挑战:给出一个数字,计算出在美国足球中有多少唯一的,顺序独立的方法来达到这个数字的分数。

让我们看看在您喜欢的每种语言中都能使用多少个字符!通常的规则适用。输入和输出的方式是自然的,你的语言。

回想一下,在足球中得分的方法是安全(2分)、外场得分(3分)、触地得分(6分)、触地+额外得分(7分)和+2分转换(8分)。

例如,给定9作为输入,程序应该返回4,因为您可以得分:

  • 1个触地+加点和1个安全
  • 1次触地得分和1次外地进球
  • 3个外地目标
  • 3个安全措施和1个外地目标

注意,顺序并不重要。

EN

回答 2

Code Golf用户

发布于 2014-01-06 22:44:11

Mathatica-42

代码语言:javascript
运行
复制
Length@IntegerPartitions[#,∞,{2,3,6,7,8}]&

Prolog - 140

以前从未用Prolog写过任何东西,只是知道这个问题对它来说应该很好。

代码语言:javascript
运行
复制
p(0,_,[]).
p(N,[H|T],O):- N>=H,p(N,T,O). 
p(N,[H|S],[H|T]):- N>=H,M is N-H,p(M,[H|S],T).
f(N,C):- aggregate(count,X^p(N,[2,3,6,7,8],X),C).

?- f(9,C).
C = 4.
票数 5
EN

Code Golf用户

发布于 2014-01-07 12:12:19

Python-146

代码语言:javascript
运行
复制
t=int(input())
from itertools import*
print len([a for a in chain(*(combinations_with_replacement([2,3,6,7,8],n) for n in range(t)))if sum(a)==t])
票数 0
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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