MedieC++17

Ultimul participant din cerc

Enunț

La un joc de cerc, participanții ies pe rând după o numărătoare repetată. Locurile libere sunt sărite, iar jocul continuă din dreptul următorului participant rămas.

Cerință

n participanți stau în cerc, numerotați 1..n. Numărarea începe cu participantul 1 și îl include. Al k-lea participant este eliminat, iar numărarea reîncepe cu următorul rămas. Continuă până rămâne unul singur. Determină numărul său.

Tip de problemă: Find the Winner of the Circular Game.

Date de intrare

Se citesc n și k.

Date de ieșire

Afișează numărul ultimului participant.

Restricții

1 ≤ n ≤ 10000; 1 ≤ k ≤ 1000000000.

Explicație

În exemplul 1 sunt eliminați, în ordine, participanții 3, 6, 4, 2, 5. Rămâne 1.

Observații

Raportată de un candidat: Find the Winner of the Circular Game la Goldman Sachs (Coderpad, Salt Lake City, relatare publicată în mai 2024).

Adaptare Algo25: Participanți numerotați de la 1, cu pas de numărare posibil mai mare decât cercul.

Sursa relatării: https://leetcode.com/discuss/post/5199331/Goldman-Sachs-or-Coderpad-or-Trapping-Rain-water-or-Winner-of-circular-game/

Exemple

2 EXEMPLE

Exemplul 1

Exemplul 1 pentru „Ultimul participant din cerc”. Sunt 6 participanți, iar pasul este k = 3. Numărarea începe la 1 și îl include. Ordinea din schemă este în sensul acelor de ceasornic. După eliminare se reia de la următorul rămas.Exemplul 1, reprezentat vizual. Sunt 6 participanți, iar pasul este k = 3. Numărarea începe la 1 și îl include.Urmărește exemplul animat sau avansează în ritmul tău.Mărește schema ↗

Date de intrare

6 3

Date de ieșire

1

Exemplul 2

Date de intrare

1 8

Date de ieșire

1
UN MIC IMPULS

Ai nevoie de un indiciu?

Descoperă doar cât îți trebuie. Indiciile nu scad punctajul.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Se verifică autentificarea…

Deschide atelierul cu sugestii și teste locale în 4 limbaje →

Un pas, apoi următorul.Înapoi sus ↑