ポケモンGO進化コスト計算


11

これらの高レベルの進化を得るために、どれだけ多くのポケモンをキャッチする必要があるのか​​といつも不思議にうんざりしていませんか?もう不思議ではありません!今、あなたはあなたのためにそれを計算する完全なプログラムまたは関数を書きます!

チャレンジ:

入力として、プログラムは、ポケモンを次の層に進化させるためにキャンディーのコストのリストを受け取ります。(このリストは、任意の区切り文字で区切るか、関数の引数として使用できます)。プログラムは、指定されたすべてのティアを介して進化するために、進化するものを含め、キャッチする必要があるポケモンの数を返すか印刷します。

これをどのように計算しますか?これと同じように:
1.すべてのキャンディーのコストアップに追加12 + 50 = 62
合計から2減算3つのキャンディー、あなたは進化のために保つ1ポケモンからこのビーイング:62 - 3 = 59
3分割にそれを与えるために、1引くための4により、この数(3教授)、常に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

受賞:

アプリは既に携帯電話のほとんどのスペースを占有しているため、プログラムはできるだけ短くする必要があります。最小バイトカウントの完全なプログラムまたは関数は、2週間で受け入れられます!(最初に提出されたエントリによって解決されるタイと!)


3
出力はどのように計算されますか?
リーキー修道女

8
将来的には、Sandboxを使用して課題の不具合を解決し、投稿する前にそれらに関するフィードバックを取得してください。
エレンディアスターマン

7
コードの長さを短くするために無意味な理論的根拠が少し必要な場合は、「アプリがバッテリーをほとんど使い果たしているので、コードをできるだけ短くしたいので、バッテリーが切れる前に入力することができます。」
メゴ

2
公式はそうではないfloor(Sum(L)/4)+1でしょうか?現在の数式は、4で割り切れる合計に対しては機能しません。たとえば[400]、実際には余分な1が進化するために101である必要がある場合、100を返します。
エミグナ

6
私は誰かの記事で答えを期待ゴー
Kodosジョンソン

回答:




5

Brain-Flak 112バイト

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

オンラインでお試しください!

説明

スタックを合計し、1を減算し、4で除算し、1を加算します。


オンラインで試してみるにはどうすればいいですか?私が試したどの入力スキームでも、1だけが出力されます。
orlp

1
に対して間違った答えを与えます[4]
orlp

@orlp修正。間違ったコードを入れてオンラインで試してみました。
ポストロックガーフハンター

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

1
@ user23127これがUTF-8でエンコードされている場合、はい。実際(およびその前身)はCP437を使用します。
メゴ



2

BASH(sed + bc)19

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

入力は+標準入力の個別のリストです。
例:
echo '(19+35+5+200)'| sed 's~)~+4)/4~'|bc









1

SILOS 100 99 103文字+サンプル入力用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仕様は明らかにpokemon goを参照しているため、すべての入力が有効な入力であると想定できます。私は確かにゼロセンチネルで終了改行separaated入力を処理しないより良いバージョンを掲載しているだろうが、TIOは現在borkedされる
ロハンJhunjhunwalaを

@Megoは、OPを明確にします。これが無効である場合、私はさらに大きなテストcaseesのために仕事にそれを修正することができます
ロハンJhunjhunwala

これは実際には標準的な抜け穴です -チャレンジに存在しないルールを想定しています。
メゴ

@Megoは3バイトのコストで変更されましたが、今では最大1000の進化まで機能するはずです。
ロハンジュンジュンワラ

0

Python 2、40バイト

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

sum(s)は整数であり/、Python 2では両方の引数が整数であるときに整数除算になるため、これは機能しません。
リーキー修道女

@LeakyNunどういう意味ですか?それは私のために働く
アクロリス

に対して間違った答えを与えます[4]
orlp
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.