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

पायथन में अकिलीज़ नंबर की जांच

समस्या विवरण

एक संख्या n दी गई है, जांचें कि क्या यह अकिलीज़ नंबर है। अकिलीज़ नंबर = शक्तिशाली संख्या (हर अभाज्य गुणक p के लिए, p² भी विभाजित करता है) लेकिन पूर्ण घात नहीं (a^b रूप में नहीं)।

उदाहरण

इनपुट: 108

आउटपुट: True

108 = 2² × 3³ — दोनों अभाज्य गुणकों के वर्ग विभाजित करते हैं, लेकिन 108 पूर्ण वर्ग/घन नहीं है।

एल्गोरिदम

  1. check_powerful(n): अभाज्य गुणनखंड करके प्रत्येक का घात ≥2 जांचें
  2. check_power(n): जांचें कि क्या n = a^b (b≥2) रूप में है
  3. अकिलीज़ यदि: powerful == True और power == False

पायथन कार्यान्वयन

from math import sqrt, log

def check_powerful(n):
    while n % 2 == 0:
        p = 0
        while n % 2 == 0:
            n //= 2
            p += 1
        if p == 1:
            return False
    for factor in range(3, int(sqrt(n)) + 1, 2):
        p = 0
        while n % factor == 0:
            n //= factor
            p += 1
        if p == 1:
            return False
    return n == 1

def check_power(a):
    if a == 1:
        return True
    for i in range(2, int(sqrt(a)) + 1):
        val = log(a) / log(i)
        if abs(val - round(val)) < 1e-8:
            return True
    return False

def isAchilles(n):
    return check_powerful(n) and not check_power(n)

print(isAchilles(108))

इनपुट

108

आउटपुट

True
  1. पायथन में जांचें कि कोई संख्या डाइहेड्रल अभाज्य संख्या है या नहीं पायथन में जांचें कि कोई संख्या डाइहेड्रल अभाज्य संख्या है या नहीं

    मान लीजिए हमारे पास एक संख्या n है। हमें जांचना है कि n डाइहेड्रल अभाज्य है या नहीं। एक संख्या डाइहेड्रल अभाज्य कहलाती है जब वह संख्या स्वयं अभाज्य हो और 7-सेगमेंट डिस्प्ले पर सामान्य या उल्टा (upside-down) दिखाने पर वही संख्या या कोई अन्य अभाज्य संख्या प्रदर्शित हो। उदाहरण के लिए, यदि इनपुट n = 11

  1. पायथन प्रोग्राम: अभाज्य संख्या जांचें पायथन प्रोग्राम: अभाज्य संख्या जांचें

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

  1. - Python का उपयोग करके किसी संख्या की जांच कैसे करें कि वह अभाज्य (prime) है या नहीं?

    इस समस्या के समाधान में उपयोग किया गया सिद्धांत यह है कि दी गई संख्या को 3 से उसके वर्गमूल तक की सभी संख्याओं से विभाजित किया जाए। किसी संख्या का वर्गमूल सबसे बड़ा संभावित गुणनखंड (factor) होता है, जिसके बाद यह जांचने की आवश्यकता नहीं होती कि वह किसी अन्य संख्या से विभाज्य है या नहीं, ताकि यह तय किय