목차
链表解法
数学解法
백엔드 개발 PHP 튜토리얼 约瑟夫环有关问题的链表解法和数学解法(PHP)

约瑟夫环有关问题的链表解法和数学解法(PHP)

Jun 13, 2016 pm 12:23 PM
array head return

约瑟夫环问题的链表解法和数学解法(PHP)

约瑟夫环问题

一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,输出最后那个大王的编号。

链表解法

<code>function king($n,$m){    $monky = range(1,$n);    $i = 0;    while(count($monky)&gt;1){        $i+=1;        $head = array_shift($monky);        if($i%$m!=0){            array_push($monky,$head);        }    }    return $monky[0];}echo king(10,3);</code>
로그인 후 복사

数学解法

  • x’ = 2 3 4 5 0
  • x = 0 1 2 3 4
  • x’ = (x+m)%n

    <code>function king2($n,$m){    $r = 0;    for($i=2;$i</code>
    로그인 후 복사

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

C 언어의 return 사용법에 대한 자세한 설명 C 언어의 return 사용법에 대한 자세한 설명 Oct 07, 2023 am 10:58 AM

C 언어의 return 사용법에 대한 자세한 설명

Java에서 return 및 finally 문의 실행 순서는 무엇입니까? Java에서 return 및 finally 문의 실행 순서는 무엇입니까? Apr 25, 2023 pm 07:55 PM

Java에서 return 및 finally 문의 실행 순서는 무엇입니까?

C#에서 Array.Sort 함수를 사용하여 배열 정렬 C#에서 Array.Sort 함수를 사용하여 배열 정렬 Nov 18, 2023 am 10:37 AM

C#에서 Array.Sort 함수를 사용하여 배열 정렬

html5 태그 헤드와 헤더의 차이점은 무엇입니까? html5 태그 헤드와 헤더의 차이점은 무엇입니까? Jan 17, 2022 am 11:10 AM

html5 태그 헤드와 헤더의 차이점은 무엇입니까?

Laravel의 Head 요청 메소드에 대한 일반적인 적용 시나리오 Laravel의 Head 요청 메소드에 대한 일반적인 적용 시나리오 Mar 06, 2024 pm 09:33 PM

Laravel의 Head 요청 메소드에 대한 일반적인 적용 시나리오

PHP array_merge_recursive() 함수를 사용하는 간단하고 명확한 방법 PHP array_merge_recursive() 함수를 사용하는 간단하고 명확한 방법 Jun 27, 2023 pm 01:48 PM

PHP array_merge_recursive() 함수를 사용하는 간단하고 명확한 방법

PHP에서 array_combine 함수를 사용하여 두 배열을 연관 배열로 결합하는 방법 PHP에서 array_combine 함수를 사용하여 두 배열을 연관 배열로 결합하는 방법 Jun 26, 2023 pm 01:41 PM

PHP에서 array_combine 함수를 사용하여 두 배열을 연관 배열로 결합하는 방법

자바스크립트 함수 반환값과 반환문에 대한 자세한 설명 자바스크립트 함수 반환값과 반환문에 대한 자세한 설명 Aug 04, 2022 am 09:46 AM

자바스크립트 함수 반환값과 반환문에 대한 자세한 설명

See all articles