determining beforehand who is going to be released. to be able to calculate that, you need to know the number of prisoners and the length in words of the rhyme used by the executioner for this particular game. it might be nice to have a program that calculates the position quickly for you (maybe on the computer they let you use in prison). write a program that inputs the number of prisoners and the number of words and calculates where you should stand. for example, print the following text: 'with p prisoners and s words, i'd like to be number x.', where x is the prisoner index of the one

Respuesta :

To write a program that inputs the number of prisoners and the number of words and calculates where you should stand, check the given code.

What is a program?

The source code of a computer program is what is visible to humans. Computers can only run the native machine instructions that came with them, so source code needs to be run by another program.

The compiler of the language can therefore convert source code to machine instructions. An assembler is used to translate assembly language programs. An executable is the term used to describe the final file. The language's interpreter can also run source code as an alternative.

In the event that the executable is asked to be run, the operating system loads it into memory and launches a process. In order to fetch, decode, and then execute each machine instruction, the central processing unit will soon switch to this process.

↓↓//CODE//↓↓

#include <iostream>

using namespace std;

struct Node

{

int prisonerNo;

struct Node *next;

};

class CirList

{

Node *first,*last;

public:

CirList()

{

first=NULL;

last=NULL;

}

void create(int n);

int survivor(int n,int words);  

};

//Create a circular link list

void CirList::create(int n)

{

Node *temp;

int i=1;

while(i<=n)

{temp=new Node;

temp->prisonerNo=i;

temp->next=NULL;

if(first==NULL)

{

first=temp;

last=first;

}

else

{

last->next=temp;

last=temp;

}

i++;

}

last->next=first;

}

// calculating the correct position of surviver by deleting nodes at every number of words

int CirList::survivor(int n,int words)

{

Node *p, *q;

int i;

q = p = first;

while (p->next != p)

{

if(words==1) //When number of words are 1

{ q=q->next;

last->next=q;

delete p;

p=q;

}

else

{  

for (i = 0; i < words-1; i++) //When number of words are more than 1

{

q = p;

p = p->next;

}

q->next = p->next;

delete p;

p = q->next;

}

}

first = p;

cout<<endl<<"With "<<n<<" prisoners and "<<words<<" words, I'd like to be number "<<first->prisonerNo<<endl;

}

int main()

{

CirList list;

int skip,n,words;

cout<<"Enter the number of prisoners:";

cin>>n;

list.create(n); //calling create() function to create circular link list

cout<<"Enter the number of words:";

cin>>words;

list.survivor(n,words); //calling function to know correct position of surviver

return 1;

Learn more about program

https://brainly.com/question/26134656

#SPJ4