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

सी++ में 2^एन के अंतिम दो अंक खोजने का कार्यक्रम

इस समस्या में, हमें एक नंबर N दिया जाता है। हमारा काम C++ में 2^n के अंतिम दो अंक खोजने के लिए एक प्रोग्राम बनाना है।

समस्या का विवरण

अंतिम दो अंक खोजने के लिए। हम केवल अंतिम दो अंकों के उत्पाद का उपयोग करेंगे। और गणना को छोटा करने के लिए अन्य चीजों को छोड़ दें।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट :एन =12

आउटपुट :96

स्पष्टीकरण

2^12 =4096

समाधान दृष्टिकोण

समस्या को हल करने के लिए, एक सीधा तरीका यह हो सकता है कि 2^Nand का मान ज्ञात किया जाए और फिर शेषफल को 100 से विभाजित करने पर ज्ञात किया जाए।

उदाहरण

#include <iostream>
using namespace std;
int findLastDigit(int N){
   int powerVal = 1;
      for(int i = 0; i < N; i++){
         powerVal *= 2;
      }
   return powerVal%100;
}
int main() {
   int N = 14;
   cout<<"The last two digits of 2^"<<N<<" is "<<findLastDigit(N);
   return 0;
}

आउटपुट

The last two digits of 2^14 is 84

यह दृष्टिकोण प्रभावी नहीं है, क्योंकि एन के बड़े मूल्यों के लिए कार्यक्रम ओवरफ्लो होगा।

एक बेहतर तरीका मूल्यों से केवल 2 अंकों पर विचार करके है। और हर घात के लिए इसे दो से गुणा करें।

2^14 के मामले में प्रत्येक के लिए, अंतिम दो अंक 84 हैं। हम पूर्ण संख्या के बजाय 84 को दो से गुणा करेंगे जो गणना को बचाएगा। तो,(84*2)%100 =68.

उदाहरण

#include <iostream>
using namespace std;
int findLastDigit(int N){
   int powerVal = 1;
   for(int i = 0; i < N; i++){
      powerVal = (powerVal * 2)%100;
   }
   return powerVal;
}
int main() {
   int N = 15;
   cout<<"The last two digits of 2^"<<N<<" is "<<findLastDigit(N);
   return 0;
}

आउटपुट

The last two digits of 2^15 is 68

  1. C++ का प्रयोग करते हुए N भाज्यों के योग के अंतिम दो अंक ज्ञात कीजिए।

    यहां हम देखेंगे कि अंतिम दो अंक कैसे प्राप्त करें। एन फैक्टोरियल के योग का इकाई स्थान अंक और दहाई स्थान अंक। अतः यदि N =4 है, तो यह 1 होगा! + 2! +3! +4! =33. अतः इकाई का स्थान 3 और दस का स्थान 3 है। परिणाम 33 होगा। 10 के बाद, दस स्थान 0 रहेंगे। N =10 और अधिक के लिए, यह 00 होगा। हम भाज्य संख्याओं के

  1. सी ++ प्रोग्राम ग्राफ में दो नोड्स के बीच पथ खोजने के लिए

    इस कार्यक्रम में हम दिए गए ग्राफ पर डीएफएस का उपयोग करके पता लगा सकते हैं कि क्या दो नोड्स के बीच पथ मौजूद है। एल्गोरिदम Begin    function isReach() is a recursive function to check whether d is reachable to s :    A) Mark all the vertices as unvisited.    B) Mark the c

  1. C++ प्रोग्राम एक ग्राफ मैट्रिक्स के व्युत्क्रम को खोजने के लिए

    यह एक ग्राफ मैट्रिक्स के व्युत्क्रम को खोजने के लिए एक C++ प्रोग्राम है। मैट्रिक्स का व्युत्क्रम केवल तभी मौजूद होता है जब मैट्रिक्स गैर-एकवचन होता है, अर्थात, सारणिक 0 नहीं होना चाहिए। मैट्रिक्स का व्युत्क्रम कई तरीकों से पता लगाया जा सकता है। यहाँ हम आसन्न मैट्रिक्स और उसके सारणिक का उपयोग करके एक