데이터 구조 클래스에있어 강사가 제공 한 예제 데이터를 재현 할 수 없습니다. 문제는 사용자가 제공 한 회원 수, 단계 간격 및 시작 위치와 관련된 고전적인 요세푸스 문제입니다. 구체적으로 말하자면, 23 세부터 99 세까지 5 세가되는 사람은 마지막 사람으로 서 84 명을 남겨 두어야한다고 들었습니다. 내가 가지고 올 : 65 내가 도망 다시이 생산 (2
을 통해 루프 반복은 : 는 circle.They 서 N 군인이 모두 1로 시작하고 M.In 말에 의해서만 이동 실행 얻을 그들 중 하나가 살아있다. 아래 코드는 N과 M을 요구하고 마지막으로 서있는 플레이어를 생성했습니다. 프로그램이 상기 (2 생성 일어나는 웰은 1이므로 대신 1,8,15에서 M의 카운트를하지 개시 출력 (13) 되어야 M = 7;? #
나는 주어진 위치와 사람의 수를 다음 생존자를 찾고 싶다. (define renumber
(lambda (position n)
(if (< position 3)
(+ position (- n 3))
(- position 3))))
(define survives?
(lambda (position n)
(if
왜이 오류가 계속 발생하는지 알 수 없습니다! 대기열을 다루는 것은 처음입니다. 나는 해결책이 간단하다는 것을 확신하고 나는 아마 무언가를 놓치고있다. 어떤지도/도움이 크게 감사한다 : 요세푸스 문제를 다음과 같이 import java.util.LinkedList;
import java.util.Queue;
public class Josephus{
동일한 문제 세트를 해결하기 위해 다음 코드를 살펴보십시오. 문제를 언급하는 것이 어쨌든 도움이 될 것이라고 생각하지 않습니다. Josephus problem의 또 다른 반복입니다. 용액 1 : import sys
from math import log
cases= int(sys.stdin.readline())
current= 0
while curr
다음 코드에서 어떤 ADT가 사용되며, 어떻게 결론에 도달합니까? 나는 그것이 원형 링크리스트라는 느낌을 가지고 있지만, 정확히 에 대한 정확한 추론을 가지고 있지 않다. 이유는이다. public class Josephus {
private final int M = 3;
private class Soldier {
int num
설명 : 실행 대기중인 서클에 사람이 있습니다. 카운트 아웃은 원의 어떤 지점에서 시작하여 고정 된 방향으로 원을 중심으로 진행됩니다. 각 단계에서 특정 수의 사람이 건너 뛰고 다음 사람이 처형됩니다. 제거는 마지막 사람 만 남을 때까지 자유를 부여받을 때까지 (처형 된 사람들이 제거됨에 따라) 점점 작아지는 원 주위에서 진행됩니다. 나는이 'Josephu
나는 Circular Linked List를 사용하여 잘 알려진 Josephus 문제를 구현하기로되어있는 Java의 일부 코드 작업을하고 있습니다. 다음은 Josephus 문제에 대한 정보입니다. http://en.wikipedia.org/wiki/Josephus_problem 나는 Josephus 클래스를 만들기 위해 나에게 주어진 Student 클래스와
최근 Josephus 문제가 O (n)에서 데이터 구조로 해결 될 수 있다고 주장하는 포럼을 발견했습니다. 여기서 명확한 선택은 순환 연결된 목록이지만, 수학적 재귀/반복 조셉 스피어 알고리즘 인 wikipedia를 사용하지 않는 한 O (kn) 또는 O (n^2)에서만 수행 할 수 있다고 주장합니다. 먼저 순환 링크 된 목록에는 다음과 같은 속성이 있습니