ホームページ  >  記事  >  バックエンド開発  >  PHP で配列を使用して猿が桃を食べる問題を解決する方法

PHP で配列を使用して猿が桃を食べる問題を解決する方法

DDD
DDDオリジナル
2023-07-13 17:38:491858ブラウズ

php は配列を使用して猿が桃を食べる問題を解決します。関数「monkeyEatPeach()」を使用して桃の初期数を示すパラメーター n を受け取り、n を配列に格納してからループに入ります。 、「end( $peachArr)」を通じて配列の最後の要素 (現在の桃の数) を取得します。「floor」関数を使用して桃の半分の数を見つけ、1 を引いて新しい桃の数を取得します。桃。新しい桃の数が 0 の場合、桃が食べられたことを意味し、ループが終了します。

PHP で配列を使用して猿が桃を食べる問題を解決する方法

#このチュートリアルの動作環境: Windows 10 システム、php8.1.3 バージョン、Dell g3 コンピューター。

PHP は Web 開発で広く使用されているプログラミング言語であり、プログラミングにおいて、配列は PHP の非常に重要なデータ構造です。この記事では、配列を使用して有名な猿が桃を食べる問題を解決する方法を紹介します。

問題の説明:

桃をたくさん摘んで山の隣に置いた猿がいて、毎日半分を食べ、さらにもう一個食べていました。最初に桃が n 個あったとします。この山盛りの桃を食べ終わるまでに何日かかりますか?猿が究極の食いしん坊で、桃を食べ終わったからといって止まらないとしましょう。

問題解決のアイデア:

配列を使用してこのプロセスをシミュレートできます。最初に桃の数 n が配列に格納され、ループを使用して、すべての桃が食べられるまで猿が毎日桃を食べるプロセスをシミュレートします。

具体的な実装:

<?php
function monkeyEatPeach($n){
$peachArr = array($n); // 初始化桃子数量
$i = 1; // 记录经过的天数
while(true){
$peach = end($peachArr); // 取出数组中的最后一个元素
$half = floor($peach / 2); // 吃掉一半
$newPeach = $half - 1; // 再多吃一个
// 如果桃子数量为0,则退出循环
if($newPeach == 0){
break;
}
array_push($peachArr, $newPeach); // 将新的桃子数量加入数组中
$i++; // 天数加一
}
return $i; // 返回经过的天数
}
// 测试
$days = monkeyEatPeach(10);
echo "经过{$days}天,桃子被吃完!";
?>

上記のコードの関数 `monkeyEatPeach()` は、桃の初期数を表すパラメーター n を受け取ります。まず、桃の初期数 n を配列に格納し、次にループに入り、`end($peachArr)` を使用して配列の最後の要素 (現在の桃の数) を取得します。毎日、サルは桃を半分ともう 1 つ食べます。floor 関数を使用して半分の桃の数を見つけ、1 を引いて新しい桃の数を取得します。新しい桃の数が 0 の場合、桃が食べられたことを意味し、ループが終了します。

最後に、最初の桃の数が 10 個である状況をテストし、答えを得るまでに経過した日数を出力します。

上記の分析を通じて、結論を導き出すことができます: 桃の初期数 n が与えられた場合、数日後に桃は食べられるでしょう。配列を使用して、サルが桃を食べる問題を解決できます。

以上がPHP で配列を使用して猿が桃を食べる問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。