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

बैश प्रोग्राम: जांचें कि संख्या अभाज्य है या नहीं

बैश क्या है?

Bash (बॉर्न अगेन शेल) एक कमांड लाइन इंटरप्रेटर और स्क्रिप्टिंग भाषा है जो लिनक्स/यूनिक्स सिस्टम के लिए डिफ़ॉल्ट शेल है।

अभाज्य संख्या

एक संख्या जिसके केवल दो गुणनखंड हों: 1 और स्वयं। उदाहरण: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29...

एल्गोरिदम

  1. 2 से n/2 तक लूप करें
  2. यदि कोई संख्या n को विभाजित करती है → अभाज्य नहीं
  3. यदि कोई भाजक नहीं मिला → अभाज्य

बैश स्क्रिप्ट

#!/bin/bash

read -p "संख्या दर्ज करें: " number

i=2
flag=0

while [ $i -le $((number / 2)) ]; do
    if [ $((number % i)) -eq 0 ]; then
        flag=1
        break
    fi
    i=$((i + 1))
done

if [ $flag -eq 1 ]; then
    echo "संख्या अभाज्य नहीं है"
else
    echo "संख्या अभाज्य है"
fi

बेहतर संस्करण (वर्गमूल तक जांच)

#!/bin/bash

read -p "संख्या दर्ज करें: " number

if [ $number -lt 2 ]; then
    echo "अभाज्य नहीं"
    exit 0
fi

if [ $number -eq 2 ]; then
    echo "अभाज्य"
    exit 0
fi

if [ $((number % 2)) -eq 0 ]; then
    echo "अभाज्य नहीं"
    exit 0
fi

# केवल विषम संख्याओं की जांच करें वर्गमूल तक
limit=$(echo "sqrt($number)" | bc)
for ((i=3; i<=limit; i+=2)); do
    if [ $((number % i)) -eq 0 ]; then
        echo "अभाज्य नहीं"
        exit 0
    fi
done

echo "अभाज्य"

नमूना आउटपुट

संख्या दर्ज करें: 23
संख्या अभाज्य है

संख्या दर्ज करें: 24
संख्या अभाज्य नहीं है

बैश अंकगणित नोट्स

  • $((...)) - अंकगणित विस्तार
  • ((...)) - अंकगणित कमांड (C-जैसा सिंटैक्स)
  • bc - फ्लोटिंग पॉइंट गणना के लिए
  • let - अंकगणित मूल्यांकन

वन-लाइनर संस्करण

# त्वरित जांच
is_prime() { local n=$1; [ $n -lt 2 ] && return 1; [ $n -eq 2 ] && return 0; [ $((n%2)) -eq 0 ] && return 1; for((i=3;i*i<=n;i+=2)); do [ $((n%i)) -eq 0 ] && return 1; done; return 0; }

is_prime 23 && echo "अभाज्य" || echo "अभाज्य नहीं"
  1. - पायथन में प्राइमोरियल प्राइम की जांच

    समस्या विवरण एक संख्या n दी गई है, जांचें कि क्या यह प्राइमोरियल प्राइम है। प्राइमोरियल प्राइम = pN# + 1 या pN# - 1 रूप की अभाज्य संख्या, जहां pN# पहले N अभाज्य संख्याओं का गुणनफल है। उदाहरण इनपुट: 29 आउटपुट: True व्याख्या: N=3 के लिए, प्राइमोरियल = 2×3×5 = 30, 30-1 = 29 (अभाज्य) एल्गोरिदम सिव ऑफ

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

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

  1. - Python प्रोग्राम: जांचें कि कोई संख्या अभाज्य है या नहीं

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