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

पायथन प्रोग्राम: संख्या में सभी 0 को 5 से बदलें (अग्रणी शून्य को छोड़कर)

समस्या विवरण

एक पूर्णांक N दिया गया है, इसमें आने वाले सभी 0 को 5 से बदलें। लेकिन अग्रणी (leading) शून्यों को अनदेखा करें।

उदाहरण 1

इनपुट: N = 1007
आउटपुट: 1557
व्याख्या: दो 0 को 5 से बदला गया।

उदाहरण 2

इनपुट: N = 00105
आउटपुट: 155
व्याख्या: अग्रणी 00 को अनदेखा किया, बीच के 0 को 5 से बदला।

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

  1. संख्या को स्ट्रिंग में बदलें (अग्रणी शून्य स्वचालित रूप से हट जाएंगे यदि पूर्णांक के रूप में पढ़ा जाए)।
  2. स्ट्रिंग में '0' को '5' से बदलें।
  3. पूर्णांक में वापस बदलें।

सरल स्ट्रिंग-आधारित समाधान

def convert_zeros_to_five(n):
    # पूर्णांक के रूप में पढ़ने पर अग्रणी शून्य हट जाते हैं
    # यदि इनपुट स्ट्रिंग के रूप में है, तो lstrip('0') उपयोग करें
    s = str(n).lstrip('0')
    if not s:  # यदि सभी शून्य थे
        return 0
    return int(s.replace('0', '5'))

# टेस्ट
print(convert_zeros_to_five(1007))    # 1557
print(convert_zeros_to_five("00105")) # 155
print(convert_zeros_to_five(14006))   # 14556

आउटपुट

1557
155
14556

गणितीय दृष्टिकोण (प्लेस वैल्यू का उपयोग)

def convertToFive(number):
    if number == 0:
        return 5
    
    result = 0
    place_value = 1
    
    while number > 0:
        digit = number % 10
        if digit == 0:
            result += 5 * place_value
        else:
            result += digit * place_value
        number //= 10
        place_value *= 10
    
    return result

print(convertToFive(14006))  # 14556

स्ट्रिंग विधि सरल और पठनीय है; गणितीय विधि शैक्षिक उद्देश्य के लिए अच्छी है।

  1. - पायथन में दी गई संख्या में बिट 1 की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या n है, हमें उस संख्या के बाइनरी प्रतिनिधित्व में बिट 1 की संख्या ढूंढनी है। उदाहरण के लिए, यदि इनपुट 12 है, तो आउटपुट 2 होगा। इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे: count := 0 जब तक n शून्येतर है, करें: count := count + (n AND 1) n := n/2 का फ्लोर count व

  1. - पायथन में दी गई संख्या के सभी अंकों का योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या num है, हमें इसके अंकों का योग ढूंढना है। हमें इसे स्ट्रिंग्स का उपयोग किए बिना हल करना है। उदाहरण के लिए, यदि इनपुट है num = 512, तो आउटपुट होगा 8, क्योंकि 8 = 5 + 1 + 2। हल करने के चरण sum := 0 जब तक num != 0: sum := sum + (num % 10) num := num // 10 sum लौटाएं।

  1. पायथन प्रोग्राम: दी गई रेंज में विषम गुणनखंड वाले तत्वों की संख्या पायथन प्रोग्राम: दी गई रेंज में विषम गुणनखंड वाले तत्वों की संख्या

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक रेंज दी गई है, हमें उस रेंज में विषम गुणनखंडों की संख्या ज्ञात करनी है। दृष्टिकोण हम सभी जानते हैं कि एक रेंज में सभी पूर्ण वर्गों के विषम संख्या में गुणनखंड होते हैं। इसलिए यहां हम पूर्ण वर्गों की संख्या की गणना करेंगे। चू