Who pays the bill, the monkey Choose the King and other similar problems of different solutions!!!

Source: Internet
Author: User

Title Description

35 friends, invited to talk, round a round table, after meal count off, to the bill. From the first person starting off (from 1 to 3 off) where the 3 of the people will not pay the bill, quit the circle. The last person to ask for the bill is the date of the first.

Inputmultiple sets of test data, input the entire n (n < 50), representing n individuals. Outputthe person who output the bill. Sample input
8
Sample output
7
---------------------------------------------------------------------------------------------
The topic is relatively simple, is to find a number of the array to move forward one;
Directly on the code
#include <cstdio>
#define _oj_
int main (int argc, char const *argv[]) {
#ifndef _oj_//online_judge
Freopen ("Input.txt", "R", stdin);
#endif

int a[100];
int I, J, n, cnt = 0;
scanf ("%d", &n);
for (i = 1;i <= n; i++)//each is assigned by order
A[i] = i;
i = 1;

while (i <= N) {
cnt++;
if (cnt = = 3) {
for (j = i;j <= N; j + +)//move forward one at a
A[J] = a[j + 1];
CNT = 0; n = n-1;
}
Else
i++;
if (n = = 1) break;//n = = 1 End
if (i > N) i = 1;//returns the first
}

printf ("%d\n", a[1]);
return 0;
}
-----------------------------------------------------------------------------------------------
Title Description

M only monkeys to choose the King, the election method is as follows: All monkeys according to 1. M number standing in a circle, starting from 1th in accordance with 1, 2, 3......N, where the monkey to report n out of the circle, so cycle, until only a monkey in the circle, the monkey for the king. of which:0<m,n<100

Input

M and N.

Output

The number of the King Monkey.

Sample input
4 2
Sample output
1

---------------------------------------------------------------------------------------------
This topic and the above topic is similar, but besides can use the loop to do outside to learn the data structure can also use the circular link list to do;
Such a circle in a more image;
------------------------------------------------------------------------------------------

#include <cstdio> #include <cstdlib> #define _OJ_ typedef struct Lnode {      int data;      struct Lnode *next; } Lnode, *Linklist; void Creat_List(Linklist L, int n) {      int i;      Linklist p, head;      head = L;      L->data = 1;      for (i = 2;i <= n; i++) {      p = (Linklist) malloc ( sizeof (Lnode));      p->data = i;      head->next = p;      head = p;      }      head->next = L;      } void Delete_List(Linklist L) {      L->next = L->next->next; } /*void fun(Linklist L, int n) {      //printf("n==%d\n",n);      int i = 1;      Linklist p;      p = L;          while(i != n - 1)          {          //printf("%d\n",p->data);          i++;//printf("i==%d\n",i);          p = p->next;          }          Delete_List(p); }*/ int main( int argc, char const *argv[]) { #ifndef _OJ_  //ONLINE_JUDGE      freopen ( "input.txt" , "r" , stdin); #endif      int i = 1, cnt = 0;      Linklist L, head, p;      int m, n;      L = (Linklist) malloc ( sizeof (Lnode));      head = L;      scanf ( "%d %d" , &m, &n);      Creat_List(L,m);      while (L->next != L)      {          if (i == n - 1)          {              Delete_List(L);              L = L->next;              i = 1;          }          else          {              i++;              L = L->next;          }               }      printf ( "%d\n" , L->data);      return 0; }--------------------------------------------------------------------------------------------------------------- --------







Who pays the bill, the monkey Choose the King and other similar problems of different solutions!!!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.