> 백엔드 개발 > PHP 문제 > 원숭이가 복숭아를 먹는 문제를 해결하기 위해 PHP에서 배열을 사용하는 방법

원숭이가 복숭아를 먹는 문제를 해결하기 위해 PHP에서 배열을 사용하는 방법

DDD
풀어 주다: 2023-07-13 17:38:49
원래의
1882명이 탐색했습니다.

php는 배열을 사용하여 원숭이가 복숭아를 먹는 문제를 해결합니다. "monkeyEatPeach()" 함수를 사용하여 초기 복숭아 수를 나타내는 매개변수 n을 받고 배열에 n을 저장한 다음 "end()를 통해 루프를 입력합니다. $peachArr)" 배열의 마지막 요소인 현재 복숭아 개수를 가져오려면 "floor" 함수를 사용하여 복숭아 개수의 절반을 찾은 다음 1을 빼서 새 복숭아 개수를 가져옵니다. 새로운 복숭아 개수가 0이면 복숭아를 먹었고 루프가 종료되었음을 의미합니다.

원숭이가 복숭아를 먹는 문제를 해결하기 위해 PHP에서 배열을 사용하는 방법

이 튜토리얼의 운영 환경: Windows 10 시스템, php8.1.3 버전, Dell g3 컴퓨터.

PHP는 웹 개발에 널리 사용되는 프로그래밍 언어입니다. 프로그래밍에서 배열은 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을 빼서 새로운 복숭아 수를 얻습니다. 새로운 복숭아 개수가 0이면 복숭아를 먹었고 루프가 종료되었음을 의미합니다.

마지막으로 초기 복숭아 개수가 10개인 상황을 테스트하고, 경과한 일수를 출력하여 답을 얻습니다.

위의 분석을 통해 결론을 내릴 수 있습니다. 초기 복숭아 수 n이 주어지면 며칠 후에 복숭아를 먹게 되어 원숭이가 복숭아를 먹는 문제를 해결할 수 있습니다.

위 내용은 원숭이가 복숭아를 먹는 문제를 해결하기 위해 PHP에서 배열을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿