Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ความน่าจะเป็นในการกำหนดที่นั่งเครื่องบินใน C++


สมมติว่าผู้โดยสาร n คนขึ้นเครื่องบินโดยมีที่นั่ง n ที่นั่งพอดี หากผู้โดยสารคนแรกทำตั๋วหายและเลือกที่นั่งแบบสุ่ม แต่หลังจากนั้น ผู้โดยสารที่เหลือจะปฏิบัติตามการดำเนินการเหล่านี้ -

  • ขึ้นที่นั่งของตัวเองที่เขียนไว้ในตั๋วถ้ายังว่าง

  • สุ่มเลือกที่นั่งอื่นเมื่อพบว่ามีที่นั่งว่าง

เราต้องหาความน่าจะเป็นที่คนที่ n จะได้ที่นั่งของตัวเองเป็นเท่าไหร่? ดังนั้นหากอินพุตเป็น 2 เอาต์พุตจะเป็น 0.5 ดังนั้นคนที่สองจึงมีโอกาส 0.5 ที่จะได้ที่นั่งที่สอง (เมื่อคนแรกได้ที่นั่งที่หนึ่ง)

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ถ้า n เป็น 1 ให้คืนค่า 1 มิฉะนั้น 0.5

ตัวอย่าง (C++)

ให้เราดูการใช้งานต่อไปนี้เพื่อทำความเข้าใจ −

class Solution {
public:
   double nthPersonGetsNthSeat(int n) {
      if (n == 1) return 1;
      return 0.5;
   }
};

อินพุต

2

ผลลัพธ์

0.50000