Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan tatasusunan dalam PHP untuk menyelesaikan masalah pic makan monyet

Cara menggunakan tatasusunan dalam PHP untuk menyelesaikan masalah pic makan monyet

DDD
DDDasal
2023-07-13 17:38:491858semak imbas

php menggunakan tatasusunan untuk menyelesaikan masalah monyet makan pic: gunakan fungsi "monkeyEatPeach()" untuk menerima parameter n, menunjukkan bilangan awal pic, simpan n dalam tatasusunan, dan kemudian masukkan gelung, melalui "end( $peachArr)" Untuk mendapatkan elemen terakhir dalam tatasusunan, iaitu bilangan pic semasa, gunakan fungsi "lantai" untuk mencari separuh bilangan pic, dan kemudian tolak 1 untuk mendapatkan bilangan pic baharu. Jika bilangan pic baru ialah 0, bermakna pic telah dimakan dan gelung telah keluar.

Cara menggunakan tatasusunan dalam PHP untuk menyelesaikan masalah pic makan monyet

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi php8.1.3, komputer dell g3.

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam pembangunan web Dalam pengaturcaraan, tatasusunan ialah struktur data yang sangat penting dalam PHP. Artikel ini akan memperkenalkan cara menggunakan tatasusunan untuk menyelesaikan masalah monyet yang terkenal makan pic.

Penerangan masalah:

Ada seekor monyet yang memetik sekumpulan pic dan meletakkannya di sebelah longgokan Ia akan memakan separuh daripadanya setiap hari, dan kemudian makan lagi. Katakan terdapat n buah pic pada mulanya Berapa hari yang diperlukan untuk timbunan pic ini dimakan? Katakan monyet adalah penggemar makanan terbaik dan tidak akan berhenti hanya kerana dia telah selesai makan pic.

Idea penyelesaian masalah:

Kita boleh menggunakan tatasusunan untuk mensimulasikan proses ini. Pada mulanya, bilangan pic n disimpan dalam tatasusunan, dan kemudian gelung digunakan untuk mensimulasikan proses monyet memakan pic setiap hari sehingga semua pic dimakan.

Pelaksanaan khusus:

<?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}天,桃子被吃完!";
?>

Fungsi `monkeyEatPeach()` dalam kod di atas menerima parameter n, yang mewakili bilangan awal pic. Mula-mula, simpan nombor awal pic n ke dalam tatasusunan, kemudian masukkan gelung dan gunakan `end($peachArr)` untuk mendapatkan elemen terakhir dalam tatasusunan, iaitu bilangan pic semasa. Setiap hari, monyet itu makan separuh daripada pic dan satu lagi Gunakan fungsi lantai untuk mencari bilangan separuh pic, dan kemudian tolak 1 untuk mendapatkan nombor pic baru. Jika bilangan pic baru ialah 0, bermakna pic telah dimakan dan gelung telah keluar.

Akhir sekali, uji keadaan di mana bilangan awal pic ialah 10 dan keluarkan bilangan hari yang telah berlalu untuk mendapatkan jawapan.

Melalui analisis di atas, kita boleh membuat kesimpulan: memandangkan bilangan awal pic n, selepas hari, buah pic akan dimakan untuk menyelesaikan masalah monyet makan pic.

Atas ialah kandungan terperinci Cara menggunakan tatasusunan dalam PHP untuk menyelesaikan masalah pic makan monyet. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn