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

पायथन में जांचें कि किसी बड़ी संख्या का कोई क्रमपरिवर्तन 3 से विभाज्य और पालिंड्रोमिक है या नहीं


मान लीजिए हमें एक बड़ी धनात्मक पूर्णांक संख्या N दी गई है। हमें जांचना है कि क्या हम इसके अंक-क्रमपरिवर्तनों से कोई ऐसी संख्या ढूंढ सकते हैं; जो अपने उल्टे रूप के बराबर हो, यानी पालिंड्रोम हो, और 3 से विभाज्य भी हो।

उदाहरण के लिए, मान लीजिए हमारे पास संख्या 132213 है। यदि हम संख्या के अंकों से क्रमपरिवर्तन जांचते हैं, तो हमें 123321 मिलता है जो एक पालिंड्रोम है और 3 से विभाज्य भी है। हमें जांचना है कि क्या इनपुट संख्या से संभव कोई क्रमपरिवर्तन उपरोक्त शर्तों को पूरा करता है।

इसलिए, यदि इनपुट input_num = 132213 है, तो आउटपुट "One or more permutation is a palindrome and is divisible by three" होगा।

हल करने का तरीका

  1. digit_array := आकार 10 की सूची 0 से प्रारंभ
  2. input_sum := 0
  3. जब तक input_num शून्य नहीं:
    • input_sum += input_num % 10
    • digit_array[input_num % 10]++
    • input_num //= 10
  4. यदि input_sum % 3 ≠ 0, तो False लौटाएं
  5. index_odd := 0
  6. 0 से 9 तक: यदि digit_array[i] विषम है, तो index_odd++
  7. यदि index_odd > 1, तो "No permutation..." लौटाएं
  8. अन्यथा "One or more permutation..." लौटाएं

3 से विभाज्यता के लिए अंकों का योग 3 से विभाज्य होना चाहिए। पालिंड्रोम के लिए अधिकतम एक अंक की आवृत्ति विषम हो सकती है।

उदाहरण

def solve(input_num):
    digit_array = [0] * 10
    input_sum = 0
    while input_num:
        input_sum += input_num % 10
        digit_array[input_num % 10] += 1
        input_num //= 10
    if input_sum % 3 != 0:
        return False
    index_odd = 0
    for i in range(10):
        if digit_array[i] % 2 != 0:
            index_odd += 1
    if index_odd > 1:
        return "No permutation is a palindrome and is divisible by three"
    else:
        return "One or more permutation is a palindrome and is divisible by three"

input_num = 132213
print(solve(input_num))

इनपुट

132213

आउटपुट

One or more permutation is a palindrome and is divisible by three
  1. पायथन प्रोग्राम: अभाज्य संख्या जांचें पायथन प्रोग्राम: अभाज्य संख्या जांचें

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

  1. पायथन प्रोग्राम: आर्मस्ट्रांग नंबर चेक करें पायथन प्रोग्राम: आर्मस्ट्रांग नंबर चेक करें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक इंटीजर n दिए जाने पर, हमें जांचना होगा कि दिया गया इंटीजर आर्मस्ट्रांग नंबर है या नहीं। एक पॉजिटिव इंटीजर को n क्रम का आर्मस्ट्रांग नंबर कहा जाता है यदि abcd... = a^n + b^n + c^n +

  1. - पायथन में पर्म्यूटेशन और कॉम्बिनेशन

    पायथन का itertools मॉड्यूल पर्म्यूटेशन और कॉम्बिनेशन जेनरेट करने के लिए कुशल फंक्शन्स प्रदान करता है। इंस्टॉलेशन/इम्पोर्ट from itertools import permutations, combinations, combinations_with_replacement पर्म्यूटेशन (क्रम महत्वपूर्ण) क्रम में व्यवस्था: nPr = n! / (n-r)! उदाहरण 1: पूर्ण पर्म्यूटेशन