Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में बमों की न्यूनतम संख्या

यहां समस्या बयान कम से कम बम विस्फोटों के साथ एक इमारत के कमरों में गुंडों को मारने के लिए है। कमरों को 1 से n के रूप में लेबल किया गया है। पहले बमबारी से गुंडे घायल हो जाते हैं और दूसरे में मारे जाते हैं। जब कमरों पर बमबारी की जाती है तो गुंडे इमारत के निकटतम कमरे में विशेष रूप से पड़ोसी कमरे में भाग जाते हैं। इमारत के सभी गुंडों को मारने के लिए हमें कमरों पर बमबारी करने के लिए आवश्यक बमबारी की संख्या की गणना करनी चाहिए।

उदाहरण के साथ समझते हैं

इनपुट - कमरों की संख्या =3

आउटपुट −कुल बम विस्फोट आवश्यक हैं

4

2 1 3 2

स्पष्टीकरण - यहां आवश्यक बमों की न्यूनतम संख्या 4 है। आइए मान लें कि हम पहले दूसरे कमरे में बम गिराते हैं, गुंडे खुद को बचाने के लिए पहले या तीसरे कमरे में पहुंचेंगे। फिर हम पहले कमरे पर बमबारी करते हैं, यहाँ दूसरे कमरे के हमलों से कुछ घायल गुंडे मर जाते हैं और पहले कमरे में छिपे गुंडे घायल हो जाते हैं और दूसरे कमरे में भाग जाते हैं क्योंकि यह उनके सबसे नजदीक है। अब हम यहां तीसरे कमरे में बम विस्फोट करते हैं, दूसरे कमरे में बम विस्फोट करने वाले गुंडे छिपे हुए थे, इसलिए वे तीसरे कमरे की बमबारी में मारे गए, और तीसरे कमरे में छिपे हुए गुंडे भी निकटतम कमरे यानी दूसरे कमरे में आखिरी बार बम मारेंगे। दूसरे कमरे में तीसरे और पहले कमरे के घायल गुंडे मारे जाते हैं और यह हमारा मिशन पूरा करता है।

इनपुट - कमरों की संख्या =2

आउटपुट −कुल बम विस्फोट आवश्यक हैं

3

2 1 2

स्पष्टीकरण - यहां आवश्यक बमों की न्यूनतम संख्या 3 है। आइए मान लें कि हम पहले दूसरे कमरे में बम गिराते हैं, गुंडे खुद को बचाने के लिए पहले कमरे में पहुंचेंगे। फिर हम पहले कमरे पर बमबारी करते हैं, यहाँ दूसरे कमरे के हमलों से कुछ घायल गुंडे मर जाते हैं और पहले कमरे में छिपे गुंडे घायल हो जाते हैं और दूसरे कमरे में भाग जाते हैं क्योंकि यह उनके सबसे नजदीक है। अब हम यहां दूसरे कमरे पर बमबारी करते हैं। पहले कमरे की बमबारी से छिपे हुए गुंडे मारे जाते हैं और इससे हमारा मिशन पूरा होता है।

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है -

  • सबसे पहले कमरे की संख्या को उपयोगकर्ता से इनपुट के रूप में लिया जाता है।

  • आवश्यक बमों की संख्या की गणना (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

  1. जावा रैंडम नंबर:एक शुरुआती गाइड

    जावा रैंडम नंबर कैसे जेनरेट करें 5. 7. 22. हम मनुष्यों के लिए, एक यादृच्छिक संख्या उत्पन्न करना आसान है। हमें बस इतना करना है कि हम अपने आप से एक नंबर मांगें, और हमारे दिमाग में एक नंबर आता है। यदि केवल प्रोग्रामिंग में इतना आसान होता, है ना? जावा में, एक यादृच्छिक संख्या उत्पन्न करना आसान है, य

  1. Java Math.random का उपयोग कैसे करें?

    द Math.random() जावा विधि 0.0 और 1.0 के बीच एक छद्म यादृच्छिक संख्या उत्पन्न करती है। परिणामी यादृच्छिक संख्या को 0-1 से बाहर की सीमा प्राप्त करने के लिए गुणा किया जा सकता है, और परिणाम 0 हो सकता है लेकिन हमेशा 1 से कम होता है। जब आप प्रोग्रामिंग कर रहे होते हैं, तो अक्सर ऐसी स्थितियाँ होती है

  1. जावा 9 में नई संस्करण योजना क्या है?

    Java 9 के बाद से, वर्जनिंग अर्थपूर्ण के अनुरूप हो सकता है संस्करण . संस्करण संख्या गैर-रिक्त . हो सकती है डॉट्स . द्वारा अलग किए गए स्ट्रिंग्स का क्रम . इसमें तीन प्रमुख भाग होते हैं:प्रमुख संस्करण संख्या , मामूली संस्करण संख्या , और सुरक्षा . नई संस्करण योजना को रनटाइम में प्रलेखित किया गया है। सं