>  기사  >  백엔드 개발  >  PHP는 재귀 알고리즘을 기반으로 토끼가 새끼를 낳는 문제를 해결합니다.

PHP는 재귀 알고리즘을 기반으로 토끼가 새끼를 낳는 문제를 해결합니다.

不言
不言원래의
2018-06-01 11:57:342330검색

이 글에서는 주로 토끼 낳는 문제를 재귀 알고리즘을 기반으로 해결하기 위한 PHP를 소개하며, 토끼 낳는 문제의 PHP 면접 질문을 루프와 재귀를 이용하여 예제 형태로 분석합니다. 이 글을 참고하세요

이 예제는 재귀 알고리즘을 기반으로 토끼가 새끼를 낳는 문제를 PHP가 어떻게 해결하는지 보여줍니다. 참고하실 수 있도록 자세한 내용은 다음과 같습니다.

내일 제 프로젝트 경험을 어떻게 소개해야 할지 계속 고민했습니다.

일찍 일어나서 씻고, 요약 질문 몇 가지를 묻고 답했습니다.

급하게 아침을 먹고 흉측한 지하철에 끼어들었습니다. 이때는 아무 것도 신경쓰지 않고 하루빨리 지하철에서 내리기만을 바랐습니다. 드디어 면접장에 30분 일찍 도착해서 준비한 질문들을 다시 꺼내서 몇 번 살펴보는데 15분 정도 남았습니다. 나는 사람의 도움을 받아 양식을 작성한 다음 나에게 알고리즘 질문을 주었습니다.

다음과 같습니다: 한 쌍의 토끼가 있습니다. 생후 3개월부터 매달 한 쌍의 토끼를 낳습니다. 토끼가 자라면 3개월까지 한 쌍의 토끼를 낳습니다. 토끼가 죽지 않으면 2년 안에 매달 토끼의 총 수를 출력하도록 프로그래밍해 주세요.

갑자기 친구가 전에 이 질문에 대해 논의한 것이 생각났습니다. 동일합니다.

첫 번째 방법(루프 구현용):

<?php
  function getResult($month){
   $one = 1; //第一个月兔子的对数
   $two = 1; //第二个月兔子的对数
   $sum = 0; //第$month个月兔子的对数
   if($month < 3){
     return ;
     }
   for($i = 2;$i < $month; $i++){
     $sum = $one + $two;
     $one = $two;
     $two = $sum;
   }
   echo $month.&#39;个月后共有&#39;.$sum.&#39;对兔子&#39;;
  }
//测试:
getResult(8)
//输出:8个月后共有21对兔子

두 번째 방법(재귀적):

<?php
function fun($n){
  if($n == 1 || $n == 2){
    return 1;
  }else{
    return fun($n-1)+fun($n-2);
  }
}
//测试:
echo fun(8)
//输出:21

나중에 온라인에서도 확인했는데 대부분 코드 예제가 다 들어있습니다. C, C++, 자바 및 기타 언어. PHP와 관련된 코드 예제가 많지 않습니다. 이 두 가지 방법이 모든 사람에게 도움이 되기를 바랍니다.

사실 인터뷰 내내 긴장감이 넘쳤지만, 다행히 마지막에는 아름답게 마무리되었습니다. 아니요, 재시험 공지가 왔습니다. Qianfeng PHP 친구에게 감사드립니다.

관련 권장 사항:

PHP는 폴더를 재귀적으로 탐색하여 주석을 제거하고 PHP 소스 코드를 압축합니다

위 내용은 PHP는 재귀 알고리즘을 기반으로 토끼가 새끼를 낳는 문제를 해결합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.