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

पायथन में ट्रोजन नंबर की जांच

समस्या विवरण

एक संख्या n दी गई है, जांचें कि क्या यह ट्रोजन नंबर है। ट्रोजन नंबर = मजबूत संख्या (हर अभाज्य गुणक कम से कम दो बार आता है) लेकिन पूर्ण घात नहीं।

उदाहरण

इनपुट: 72

आउटपुट: True

72 = 2³ × 3² — सभी अभाज्य गुणक ≥2 बार, लेकिन 72 = a^b रूप में नहीं।

एल्गोरिदम

  1. check_perfect_pow(n): जांचें कि क्या n = x^y (y≥2)
  2. check_strong_num(n): अभाज्य गुणनखंड करके प्रत्येक की आवृत्ति ≥2 जांचें
  3. ट्रोजन यदि: not perfect_pow and strong_num

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

from math import sqrt

def check_perfect_pow(n):
    if n == 1:
        return True
    for x in range(2, int(sqrt(n)) + 1):
        y = 2
        p = x ** y
        while p <= n and p > 0:
            if p == n:
                return True
            y += 1
            p = x ** y
    return False

def check_strong_num(n):
    count = {}
    temp = n
    while temp % 2 == 0:
        temp //= 2
        count[2] = count.get(2, 0) + 1
    for i in range(3, int(sqrt(temp)) + 1, 2):
        while temp % i == 0:
            temp //= i
            count[i] = count.get(i, 0) + 1
    if temp > 2:
        count[temp] = count.get(temp, 0) + 1
    return all(v >= 2 for v in count.values())

def isTrojan(n):
    return not check_perfect_pow(n) and check_strong_num(n)

print(isTrojan(72))

इनपुट

72

आउटपुट

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

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

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

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

  1. - Python में रैंडम नंबर सूची जनरेट करना

    किसी मॉडल या प्रोग्राम के व्यवहार का विभिन्न मानों की रेंज के लिए अध्ययन करते समय रैंडम नंबर जनरेट करने की आवश्यकता होती है। Python random मॉड्यूल का उपयोग करके ऐसे रैंडम नंबर जनरेट कर सकता है। नीचे दिए गए उदाहरणों में हम पहले देखेंगे कि एक रैंडम नंबर कैसे जनरेट करें और फिर इसे रैंडम नंबर की सूची जन