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

จำนวนระเบิดขั้นต่ำใน Java


คำชี้แจงปัญหาในที่นี้คือการฆ่าลูกน้องในห้องของอาคารที่มีจำนวนระเบิดขั้นต่ำ ห้องจะมีป้ายกำกับว่า 1 ถึง n ลูกน้องได้รับบาดเจ็บจากการทิ้งระเบิดครั้งแรกและเสียชีวิตในครั้งที่สอง เมื่อห้องถูกทิ้งระเบิด พวกลูกน้องรีบไปที่ห้องที่ใกล้ที่สุดในอาคารโดยเฉพาะห้องข้างๆ เราต้องคำนวณจำนวนระเบิดที่จะต้องวางระเบิดในห้องเพื่อที่จะฆ่าลูกน้องทั้งหมดในอาคาร

ให้เราเข้าใจด้วยตัวอย่าง

ป้อนข้อมูล − จำนวนห้อง =3

ผลผลิต −ต้องวางระเบิดทั้งหมด

4

2 1 3 2

คำอธิบาย − จำนวนระเบิดขั้นต่ำที่ต้องใช้ในที่นี้คือ 4 ให้เราพิจารณาก่อนที่เราจะทิ้งระเบิดห้องที่ 2 ที่ลูกน้องจะรีบไปที่ห้องที่ 1 หรือ 3 เพื่อช่วยตัวเอง จากนั้นเราก็วางระเบิดห้องแรก ตรงนี้ลูกน้องที่บาดเจ็บบางส่วนจากการโจมตีห้องที่ 2 จะตาย และพวกกูนที่ซ่อนตัวอยู่ในห้องที่ 1 ได้รับบาดเจ็บและรีบไปที่ห้องที่ 2 เนื่องจากอยู่ใกล้พวกเขาที่สุด ตอนนี้เราทิ้งระเบิดห้องที่ 3 พวกลูกน้องจากห้องที่ 2 ซ่อนตัวอยู่ ดังนั้นพวกมันจึงถูกทิ้งระเบิดในห้องที่ 3 และลูกน้องที่ซ่อนตัวอยู่ในห้องที่ 3 ก็จะรีบไปที่ห้องที่ใกล้ที่สุด เช่น ห้องที่ 2 ในที่สุดเราก็วางระเบิด ห้องที่ 2 ลูกน้องที่บาดเจ็บจากห้องที่ 3 และห้องที่ 1 ถูกฆ่าตาย และภารกิจของเราก็เสร็จสิ้นลง

ป้อนข้อมูล − จำนวนห้อง =2

ผลผลิต −ต้องวางระเบิดทั้งหมด

3

2 1 2

คำอธิบาย − จำนวนระเบิดขั้นต่ำที่ต้องใช้ในที่นี้คือ 3 ให้เราพิจารณาก่อนที่เราจะทิ้งระเบิดในห้องที่ 2 ที่ลูกน้องจะรีบไปที่ห้องที่ 1 เพื่อช่วยตัวเอง จากนั้นเราก็วางระเบิดห้องแรก ตรงนี้ลูกน้องที่บาดเจ็บบางส่วนจากการโจมตีห้องที่ 2 จะตาย และลูกน้องที่ซ่อนตัวอยู่ในห้องที่ 1 ได้รับบาดเจ็บและรีบไปที่ห้องที่ 2 เนื่องจากอยู่ใกล้พวกเขาที่สุด ตอนนี้เราระเบิดห้องที่ 2 ที่นี่ ลูกน้องจากการทิ้งระเบิดในห้องที่ 1 ที่ซ่อนตัวถูกฆ่าและภารกิจของเราเสร็จสิ้น

แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้ −

  • ขั้นแรก ผู้ใช้จะดึงจำนวนห้องเป็นข้อมูลเข้า

  • จำนวนระเบิดที่ต้องการคำนวณเป็น (n+n/2) และพิมพ์ในภายหลัง

  • จากนั้นเราก็วางระเบิดห้องคู่ทั้งหมดของอาคารแล้วพิมพ์ออกมา

  • หลังจากนี้เราจะวางระเบิดห้องแปลก ๆ ของอาคารและพิมพ์ในภายหลัง

  • สุดท้าย เราทิ้งระเบิดห้องคู่ของอาคารอีกครั้งเพื่อยุติกระบวนการทิ้งระเบิดและพิมพ์ผลลัพธ์ไปยังผู้ใช้

ตัวอย่าง

public class TP{
   public static void main(String[] args){
      int n = 8;
      System.out.println("Total Bombings required");
      System.out.println(n + n / 2);
      for (int i = 2; i <= n; i += 2)
         System.out.print(i + " ");
      for (int i = 1; i <= n; i += 2)
         System.out.print(i + " ");
      for (int i = 2; i <= n; i += 2)
         System.out.print(i + " ");
   }
}

ผลลัพธ์

หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้

Total Bombings required
12
2 4 6 8 1 3 5 7 2 4 6 8