毎日ペニーが倍増するまでの日数はJavascriptとPythonで10,000ドルになるでしょうか?カウントの簡単な例を教えてください
var count = 0
for (var i=0; i<10000; i++) {
count += 1
}
上記のコードは、私が探している回答です。私は初心者レベルであり、簡単な解決法を知っていることが時には大きな問題を解決するのに役立つことがわかります。
毎日ペニーが倍増するまでの日数はJavascriptとPythonで10,000ドルになるでしょうか?カウントの簡単な例を教えてください
var count = 0
for (var i=0; i<10000; i++) {
count += 1
}
上記のコードは、私が探している回答です。私は初心者レベルであり、簡単な解決法を知っていることが時には大きな問題を解決するのに役立つことがわかります。
これは、質問されたPythonの解決策です。
pennies = 1
days = 0
while (pennies < 10000*100) :
pennies *= 2
days += 1
print (days , 'days to reach 10000')
wrong !あなたはペニー($ 0.01)を持っており、$ 10000を作る必要があります –
ああ、申し訳ありませんが、私のせいです。私はペニーについて知らなかった。 –
var pennies_total = 1 // total amount of pennies
var days_total = 1 // days past
var pennies = 1 // doubled amount for the current day
while (pennies_total < 10000*100) {
pennies *= 2 // doubling pennies for current day
pennies_total += pennies // adding the doubled pennies to the total
days_total += 1 // increasing the days count
}
print days_total
はpythonかjavascriptです。私はあなたが両方の混在していると思う;) –
これは疑問があるかどうか、あなたが言うように「上記のコードは、私が探しています応答である」場合、私は理解していません。コードは "1日2倍のペニーがJavascriptとPythonで1万ドルになるまでの日数は何ですか?"私はそう思っている。
pennies = 1
days = 0
while ((pennies/100) < 10000):
pennies *= 2
days += 1
あなたはそれは、あなたがあなたのループ条件とどのようなあなたがあなたのループで行うまで変更したい万までの値を倍増するのにかかる回数見つける方法を求めている場合。
var count = 1; // Start at 1 because we "have 1 penny" already
var i; // Define an index in this scope to keep track of times doubled
for (i=0; count < 10000; i++) { // Check that the penny count is less than 10,000... not the number of iterations
count *= 2; // Multiply the current value of count by 2
}
console.log(i); // Print # times that the penny was doubled
console.log(count); // Print the value of count (it might not be 10,000 exactly)
そして、あなたは、より効率的かつ正確なソリューションをしたい場合、あなたは常にベース2の対数行うことができます:
Math.log2(10000); // 13.287712376549449
と整数を得るために、ちょうどMath.ceil()
それは(技術的にので、あなたは越える場合を - わずかな量でさえ、もう一度その値に達するために倍増する必要があります)。
Math.ceil(Math.log2(10000)); // 14
、あなただけの番号を探していた場合:それはあなたが投稿コードは、あなたが探しているのコードであれば、私たちのためにあなたの質問は何少なくとも10,000個のペニー
を持つことが14日かかります? –
そのコードはすでに単純です。 – doutriforce
技術的には、ループ内の値を2倍していないので、 'count = 1'から始めてループ内で' count * = 2'を使うようにしてください(毎回1を加えるのではなく、毎回2を掛けます) –