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

पायथन में sqrt फंक्शन के बिना जांचना कि संख्या परफेक्ट स्क्वायर है या नहीं


मान लीजिए हमारे पास एक संख्या n है, हमें जांचना है कि क्या n एक परफेक्ट स्क्वायर नंबर है या नहीं। एक परफेक्ट स्क्वायर नंबर k को k = a * a के रूप में दर्शाया जा सकता है किसी इंटीजर a के लिए। हमें इसे बिल्ट-इन स्क्वायर रूट फंक्शन के बिना हल करना है।

उदाहरण के लिए, यदि इनपुट है n = 121, तो आउटपुट होगा True क्योंकि 121 = 11*11।

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

रेंज [2, n//2] पर बाइनरी सर्च का उपयोग करके जांचें कि क्या कोई इंटीजर k मौजूद है जैसे कि k*k == n।

  • यदि n == 0 या n == 1, तो True लौटाएं।
  • start = 2, stop = n // 2 आरंभ करें।
  • जब start <= stop:
    • mid को रेंज के मध्य तत्व के रूप में गणना करें।
    • यदि mid*mid == n, तो True लौटाएं।
    • यदि mid*mid > n, तो stop = mid - 1।
    • अन्यथा start = mid + 1।
  • False लौटाएं।

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

def solve(n):
    if n == 0 or n == 1:
        return True
    start = 2
    stop = n // 2
    while start <= stop:
        temp = range(start, stop + 1)
        k = temp[len(temp) // 2]
        k_squared = k * k
        if k_squared == n:
            return True
        if k_squared > n:
            start = temp[0]
            stop = k - 1
        else:
            start = k + 1
            stop = temp[-1]
    return False

n = 121
print(solve(n))

इनपुट

121

आउटपुट

True

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

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

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

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

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

    एक स्ट्रिंग दी गई है, हमारा कार्य यह जांचना है कि यह स्ट्रिंग पैलिंड्रोम है या नहीं। एल्गोरिदम चरण 1: इनपुट के रूप में स्ट्रिंग दर्ज करें। चरण 2: स्ट्रिंग स्लाइसिंग का उपयोग करके स्ट्रिंग को उल्टा करें और इसकी तुलना मूल स्ट्रिंग से करें। चरण 3: फिर परिणाम प्रदर्शित करें। उदाहरण कोड my_string = inpu