首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在构造的数组中,67的倍数?

在构造的数组中,67的倍数?
EN

Code Golf用户
提问于 2011-07-29 02:57:21
回答 6查看 865关注 0票数 4

构造一个三角形的表,其第一行为"1,3,5,7,.,99“

后面的每一行都具有以下属性:

  • 比上面一行少一个元素
  • 每个元素都是它上面两个元素的总和。

就像这样:

代码语言:javascript
复制
1   3   5    7    9    11 ....
  4   8   12   16   20 ....
    ...............

这种情况一直持续到最后一行有一个元素。

有多少元素可以除以67?

最少的线,字符,或任何可能获胜的东西。取决于聪明才智。

编辑:答案是17,但你必须证明。

增编:我有三行python代码,但是试着克服它:

代码语言:javascript
复制
a = [[2*i+1 for i in range(50)]]
while len(a[-1])>1:a.append([a[-1][i]+a[-1][i+1] for i in range(len(a[-1])-1)])
print len([i for b in a for i in b if i%67==0])
EN

回答 6

Code Golf用户

发布于 2011-07-31 18:27:48

Mathematica 82个字符

代码语言:javascript
复制
Count[Mod[#,67]==0&/@Flatten@NestList[2MovingAverage[#,2]&,Range[1,99,2],49],True]

-> 17
票数 5
EN

Code Golf用户

发布于 2011-07-29 05:29:26

Python95字节

代码语言:javascript
复制
l,c=range(1,100,2),0
while l:c+=len([i for i in l if i%67<1]);l=map(sum,zip(l,l[1:]))
print c
票数 4
EN

Code Golf用户

发布于 2011-08-02 00:05:44

J,48

代码语言:javascript
复制
1225-~+/,-.*67|((<:/|.)a)*(+1&|.)^:a>:2*a=:i.50x

解释(无论如何,其中的一些部分):

  • A是0 .49
  • >:2*a1 3 5 ...
  • 动词(+1&|.)移动一行并将其添加到原始行以获得所需的下一行(加上附加项,因为结果仍然是50个元素)。
  • (+1&|.)^:a>:2*a给出了50行结果。第一行是1 3 5等,第2行是4 8 12等。
  • ((<:/|.)a)是一个50x50矩阵,由1. 1,1,1.1,0等组成,下降到1.0。这是1225名临时演员的零。(1225是第49次三角形数。)
  • 在取mod 67并计数后,我们减去我们知道将出现的1225个零。
票数 3
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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