Waiting room

Waiting room

مساله:

یک اتاق انتظار با N صندلی در یک ردیف وجود دارد. صندلی ها به ترتیب متوالی از 1 تا N شماره گذاری می شوند. اولین صندلی نزدیکترین به ورودی (که خروجی نیز هست) می باشد.

به دلایلی افراد، صندلی را به روش زیر انتخاب می کنند:

  1. تا جایی که ممکن باشد مکانی دور از دیگران پیدا می کنند
  2. تا جایی که ممکن باشد جایی نزدیک به خروجی پیدا می کنند

همه صندلی ها قبل از اینکه نفر اول آنها را بگیرد باید اشغال شوند.

بنابراین برای 10 صندلی و 10 بیمار شبیه مورد زیر است:

Chairs12345678910
Patients17583946102

وظیفه شما این است که شماره صندلی آخرین بیمار را پیدا کنید.

ورودی N تعداد صندلی ها است که باید از ۲ بیشتر باشد. خروجی هم عددی است که آخرین صندلی که اشغال می شود را نشان می دهد.


There’s a waiting room with N chairs set in single row. Chairs are consecutively numbered from 1 to N. First is closest to the entrance (which is exit as well).

For some reason people choose a chair in the following way

Find a place as far from other people as possible

Find a place as close to exit as possible

All chairs must be occupied before the first person will be served

So it looks like this for 10 chairs and 10 patients

Chairs12345678910
Patients17583946102

Your task is to find last patient’s chair’s number.

Input – N – integer greater than 2 – number of chairs. Output should positive integer too – last patient’s chair’s number

Have fun 🙂


راه حل (Solution):

در کمال سادگی

public class Kata {

  public static int lastChair(int n) {
    return n-1;
  }

}

دیدگاهتان را بنویسید