2016-12-12 1 views
0

こんにちは私はこの問題を解決するために多くの時間を費やしました。私のテストケースはすべて合格しました。また、4つのテストケースが隠されています私は渡す必要がありますが、隠されたテストケースの1つをすべて通過しています。私の脳は完全に詰まっています。自分が考えている可能性のあるすべてのテストケースを作成し、それらのすべてがうまくいっています。それはちょうどこの1つの隠されたケースです、私はタイプチェックを試してみましたが、すべてがチェックアウトされているようです。Statementがテストケースを渡していない場合

n個の子供がキャンディをm個持っています。彼らは
のように多くのキャンディーを食べたいと思っていますが、すべての子供は他の子供と同じ量のキャンディーを食べなければなりません。どのくらいの個数のキャンディを食べるかは、
子供たちが一緒に食べることを決定します。個々のキャンディーは分割できません。

N = 3、M = 10の場合、出力は キャンディー(N、M)= 9

それぞれの子は3個を食べるようになるでなければなりません。だから、答えは9

入力/出力

[制限時間] 4000ms(JS)

[入力]整数nは

子の数です。

制約: 1≤N 10

≤[入力]整数m

キャンディの個数。

制約: 2≤M 100≤

[出力]整数

子供たちは、彼らができる限り食べる 提供食べるキャンディ部分の総数とすべての子供が食べます同額。ここで

コード

function candies(n, m) { 
 
    if ((n > 10 || n < 1) || (m > 100 || m < 2)) { 
 
    return 0; 
 
    } else if (n > m) { 
 
    return 0; 
 
    } else if (n === m) { 
 
    return m; 
 
    } else if (n < m) { 
 
    var candyKids = Math.round(m/n); 
 
    return candyKids * n; 
 
    }; 
 
};

+0

これは、パズルのセクションにもっと適しています。 – Lain

+1

キャンディー(4、7)を試してみてください。 – melpomene

+0

@Lain申し訳ありませんが、これはjavascriptで、私は自分の問題の解決方法を見つけようとしています。また、私は答えを提供しています(部分的であっても)。 –

答えて

1

あなたのコードで失敗しますいくつかのテストケースです:

エラーだった
candies(2, 3) === 2 (Your output: 4) 
candies(2, 5) === 4 (Your output: 6) 
candies(3, 5) === 3 (Your output: 6) 
candies(4, 7) === 4 (Your output: 8) 

あなたはMath.round代わりの手段は、あなたが、あなたが子供一人当たりm/n = 1.5キャンディーであることことを決定し、そうcandies(2, 3)のために、子どもたちの間で分割した後の半分よりも大きい部分キャンディーを切り上げるということです何Math.floorを、使用していますそれを丸めて2のキャンディーを各子供に割り当てますが、それはあなたが始めなければならないより多くのキャンディーを作り出します。このような場合は、代わりに床に置く必要があります(部分的にキャンディーを常に丸めます)。お子様にはキャンディーを1与えるだけです。

+0

ありがとう、私は残りの部分を処理する必要があります。あなたは先に進み、何が間違っているかを掲載して、私が私の問題を修正して戻って来て比較します。 –

+1

または単に '関数candies(n、m){return m - m%n; } '。 – melpomene

+0

@melpomeneはい、私はそれが現在の試みでOPを助けるとは思わない。 – Paulpro

関連する問題