宠物小精灵GO Evolution费用计算器


11

厌倦了总是想知道要获得这些高级进化,还需要捕获多少个神奇宝贝?不再感到奇怪!现在,您将编写一个完整的程序或函数来为您计算!

挑战:

作为输入,您的程序将收到糖果成本清单,以将神奇宝贝升级到下一层。(此列表可以由您选择的任何分隔符分隔,也可以作为函数参数分隔)。然后,您的程序将返回或打印必须捕获的Pokémon的数量,包括将要进化的数量,以在给定的所有层中进化。

您如何计算?像这样:
1.将所有糖果成本12 + 50 = 62
相加:2.从总数中减去3个糖果,这是您为不断进化而保留的一个神奇宝贝的62 - 3 = 59
数量:3.将这个数字除以4(3个为捕捉数量,1个为分配给教授),始终取ceil()结果ceil(59/4) = 15
的取值:4.最后,在总数中加1,以获取必须捕获的神奇宝贝总数,即16!

范例Input -> Output

[4] -> 2
[50] -> 13
[12, 50] -> 16
[25, 100] -> 32
[19, 35, 5, 200] -> 65

获奖情况:

该应用程序已经占用了手机上的大部分空间,因此您的程序需要尽可能短。字节数最少的完整程序或功能将在两周内被接受!(任何联系均由最早提交的参赛作品解决!)


3
如何计算输出?
Leaky Nun

8
将来,请在发布前使用“ 沙盒”解决您遇到的问题并获得反馈。
El'endia Starman'8

7
如果您希望代码长度短一点一点荒谬的理由,可以选择“因为该应用几乎耗尽了电池电量,因此您希望代码尽可能短,因此您可以在电池没电之前将其键入。”
Mego

2
公式不应该floor(Sum(L)/4)+1吗?当前公式不适用于被4整除的总和。例如,[400]将返回100,而实际上它需要为101才能演化出另外的总和。
艾米娜(Emigna)'16

6
我希望有人在Go中
Kodos Johnson

Answers:




5

Brain-Flak 112字节

([]<([()])>){{}({}{})([][()])}{}{({}[()])<>(({}[()()()]<({}())>)){{}(<({}()()()()<({}[()])>)>)}{}<>}{}<>{}({}())

在线试用!

说明

它对堆栈求和,减一,除以四,再加一。


如何在线上运行此程序?对于我尝试过的任何输入方案,它只会为我输出1。
orlp

1
给出错误的答案[4]
orlp

@orlp固定。我在网上尝试输入了错误的代码。
Ad Hoc Garf Hunter,2016年

3

C#REPL,15个字节

n=>n.Sum()/4+1;

转换为Func<IEnumerable<int>, int>


3

实际上是4个字节

Σ¼≈u

在线尝试!

说明:

Σ¼≈u
Σ     sum
 ¼    divide by 4
  ≈   floor
   u  add 1

1
这些unicode字符不是每个2个字节吗?
user23127 '16

1
@ user23127如果使用UTF-8编码,则可以。实际上(及其前身)使用CP437。
Mego



2

重击(sed + bc)19

sed 's~)~+4)/4~'|bc

输入是+stdin
Eg 上的单独列表:
echo '(19+35+5+200)'| sed 's~)~+4)/4~'|bc





1

CJam,7个字节

{:+4/)}

在这里尝试!

定义一个未命名的块,该块期望输入堆栈,并将结果保留在那里。
:+对列表求和,4/将结果除以4并将其)递增。





1

SILOS 100 99103 字符+ 22用于示例输入

使用测试工具进行编码。

set 512 52
set 513 10
GOSUB e
GOTO f
funce
a = 0
i = 511
lblE
i + 1
b = get i
a + b
if b E
a / 4
a + 1
return
lblf
printInt a

作为一系列set命令输入,以修改从点512开始的堆点。
在线尝试!


仅仅因为Pokemon Go的进化层不超过8层(实际上最多可以达到3层),并不意味着您不需要处理大型测试用例。
Mego

@Mego规范清楚地引用了pokemon go,因此我们可以假定所有输入都是有效输入。我本来会发布一个更好的版本,确实可以处理以零哨兵终止的换行分隔输入,但是TIO目前令人厌烦
Rohan Jhunjhunwala

@Mego让我向OP澄清一下。如果这是无效的,我可以对其进行修改以使其适用于更大的测试用例
Rohan Jhunjhunwala

这实际上是一个标准漏洞 -您假设挑战中不存在规则。
Mego

@Mego修改为三个字节的成本,它现在应该可以进行多达1000的演变。
Rohan Jhunjhunwala

0

Python 2,40个字节

import math
lambda s:math.ceil(sum(s)/4)

这是行不通的,因为它sum(s)是一个整数,并且/在Python 2中,当两个参数都是整数时,它将是整数除法。
Leaky Nun

@LeakyNun是什么意思?它对我
有用

给出错误的答案[4]
orlp
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.