Write a program to solve the Josephus problem, with the following modification: Sample Input: ./a.out n m p where n is the number of players and m is the count used for every odd turn while p is the count used for every even turn. ./a.out 5 2 3 Sample Output: Round 1: 1->3->4-> 5 Round 2: 1->3-> 4 Round 3: 1 -> 4 Round 4: 1 Winner is 1.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

What is the code in C++

Write a program to solve the Josephus problem, with the following
modification:
Sample Input:
/a.out n m p
where n is the number of players and m is the count used for every odd
turn while p is the count used for every even turn.
./a.out 5 2 3
Sample Output:
Round 1:
1-3-> 4 -> 5
Round 2:
1->3-> 4
Round 3:
1 -> 4
Round 4:
1
Winner is 1.
Transcribed Image Text:Write a program to solve the Josephus problem, with the following modification: Sample Input: /a.out n m p where n is the number of players and m is the count used for every odd turn while p is the count used for every even turn. ./a.out 5 2 3 Sample Output: Round 1: 1-3-> 4 -> 5 Round 2: 1->3-> 4 Round 3: 1 -> 4 Round 4: 1 Winner is 1.
Expert Solution
Step 1

Algorithm:

  1. Read the input values n, m, and p from the command line arguments.
  2. Initialize an array of n boolean values representing the players, with all values set to true to indicate they are still in the game.
  3. Initialize variables for the round number, turn number, and count of players to eliminate.
  4. Loop until there is only one player left in the game: a. Print the current round number. b. Loop through each player: i. If the player is still in the game: 1. Decrement the count based on the current turn. 2. If the count is zero, remove the player from the game and reset the count for the next turn. 3. Print the player number if they are still in the game. c. Check if there is only one player left in the game. If so, print the winner and exit the loop. d. Increment the round and turn variables as appropriate.
  5. Exit the program.
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
Single source shortest path
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education