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

सी प्रोग्राम यह जांचने के लिए कि कोई संख्या किसी विशेष आधार से संबंधित है या नहीं

एक संख्या को एक स्ट्रिंग और आधार के रूप में दिया गया है; कार्य यह जांचना है कि दी गई संख्या उस आधार की है या नहीं।

हमें संख्या प्रणाली के अनुसार संख्या और आधार की जांच करनी होती है जिसमें बाइनरी संख्या के लिए 2, अष्टक संख्या के लिए 8, दशमलव संख्या के लिए 10 और हेक्साडेसिमल संख्या के लिए 16 जैसे आधार होते हैं। इसके अनुसार हमें यह पता लगाना है कि स्ट्रिंग में दी गई संख्या किसी विशेष आधार से संबंधित है या नहीं, यदि यह किसी विशेष आधार से संबंधित है तो हमें आउटपुट स्क्रीन पर "हां" प्रिंट करना होगा; और आउटपुट स्क्रीन पर "नहीं"।

जैसा कि हम जानते हैं कि, संख्या/व्यंजक “1A6” आधार 16 का है और “1010” आधार 2 का है, लेकिन इसका अंदाजा केवल दृष्टिगत विश्लेषण से लगाया जा सकता है, अब हमें एक की मदद से समस्या को हल करने का एक तरीका खोजना होगा। कार्यक्रम।

उदाहरण

Input: str = “1010”, base =2
Output: yes
Input: str = “1AA4”, base = 16
Output: yes
Input: str = “1610”, base = 2
Output: No

दृष्टिकोण हम दी गई समस्या को हल करने के लिए उपयोग करेंगे -

  • जांचें कि आधार 2 से 16 के बीच है या नहीं।
  • फिर जाँच करेंगे कि स्ट्रिंग का प्रत्येक अंक विशेष आधार से संबंधित है या नहीं।
  • यदि यह संबंधित है तो सत्य लौटाएं, अन्यथा असत्य।

एल्गोरिदम

Start
Step 1 -> In function bool isInGivenBase(char str[], int base)
   If base > 16 then,
      Return false
   Else If base <= 10 then,
   Loop For i = 0 and i < strlen(str) and i++
      If !(str[i] >= '0' and str[i] < ('0' + base)) then,
         Return false
      Else
      Loop For i = 0 and i < strlen(str) and i++
         If NOT ((str[i] >= '0' && str[i] < ('0' + base)) ||
            (str[i] >= 'A' && str[i] < ('A' + base – 10) ) then,
            Return false
            Return true
   Step 2 -> In function int main()
      Set str[] = {"AF87"}
      If isInGivenBase(str, 16) then,
         Print "yes "
      Else
         Print "No "
Stop

उदाहरण

#include <ctype.h>
#include <stdio.h>
#include <string.h>
bool isInGivenBase(char str[], int base) {
   // Allowed bases are till 16 (Hexadecimal)
   if (base > 16)
      return false;
      // If base is below or equal to 10, then all
      // digits should be from 0 to 9.
   else if (base <= 10) {
      for (int i = 0; i < strlen(str); i++)
      if (!(str[i] >= '0' and
         str[i] < ('0' + base)))
         return false;
   }
   // If base is below or equal to 16, then all
   // digits should be from 0 to 9 or from 'A'
   else {
      for (int i = 0; i < strlen(str); i++)
      if (! ((str[i] >= '0' &&
         str[i] < ('0' + base)) ||
         (str[i] >= 'A' &&
         str[i] < ('A' + base - 10))
      ))
      return false;
   }
   return true;
}
// Driver code
int main() {
   char str[] = {"AF87"};
   if (isInGivenBase(str, 16))
      printf("yes\n");
   else
      printf("No\n");
   return 0;
}

आउटपुट

yes

  1. पायथन में दी गई संख्या नार्सिसिस्टिक नंबर है या नहीं, यह जांचने के लिए प्रोग्राम

    मान लीजिए हमारे पास एक संख्या n है; हमें यह जांचना होगा कि क्या यह अंकों की संख्या के घात के अंकों के योग के बराबर है। इसलिए, अगर इनपुट 9474 जैसा है, तो आउटपुट सही होगा क्योंकि 9^4 + 4^4 + 7^4 + 4^4 =6561 + 256 +2401 + 256 =9474. इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - s :=n के अंकों की

  1. पायथन में किसी संख्या की जाँच करने का कार्यक्रम बदसूरत संख्या है या नहीं

    मान लीजिए हमारे पास एक संख्या n है, हमें यह जांचना है कि इसके अभाज्य गुणनखंडों में केवल 2, 3 या 5 शामिल हैं या नहीं। इसलिए, यदि इनपुट n =18 जैसा है, तो आउटपुट ट्रू होगा, क्योंकि 18 के अभाज्य गुणनखंड 2 और 3 हैं। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - अगर n <0, तो झूठी वापसी कारक:=तत्वो

  1. पायथन प्रोग्राम यह जांचने के लिए कि कोई नंबर प्राइम है या नहीं

    इसमें हम एक प्रोग्राम लिखेंगे जो यह जांच करेगा कि दी गई संख्या जो 1 से बड़ी है अभाज्य है या नहीं। एक अभाज्य संख्या 1 से बड़ा एक धनात्मक पूर्णांक है और जिसके केवल दो गुणनखंड 1 हैं और स्वयं संख्या उदाहरण संख्या:2, 3, 5, 7… आदि अभाज्य संख्याएँ हैं क्योंकि उनके केवल दो गुणनखंड हैं। 1 और नंबर ही। # Pyth