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

C भाषा में पास्कल त्रिकोण (Pascal's Triangle) प्रिंट करना

पास्कल त्रिकोण क्या है?

पास्कल त्रिकोण पूर्णांकों का एक त्रिकोणीय सरणी है जहां प्रत्येक संख्या उसके ऊपर की दो संख्याओं का योग होती है। यह द्विपद गुणांक (binomial coefficients) को दर्शाता है।

निर्माण नियम

  • त्रिकोण के बाहर के सभी मान शून्य (0) माने जाते हैं।
  • पहली पंक्ति केवल 1 होती है।
  • प्रत्येक अगली पंक्ति पिछली पंक्ति के आसन्न तत्वों को जोड़कर बनाई जाती है।
  • प्रत्येक पंक्ति के दोनों किनारों पर 1 होता है।

प्रोग्राम 1: फैक्टोरियल और संयोजन (nCr) का उपयोग करके

#include <stdio.h>

int fact(int n) {
    int result = 1;
    for (int i = 1; i <= n; i++)
        result *= i;
    return result;
}

int main() {
    int rows, i, j;
    
    printf("पंक्तियों की संख्या दर्ज करें: ");
    scanf("%d", &rows);
    
    for (i = 0; i < rows; i++) {
        // स्पेस प्रिंट करें
        for (j = 0; j <= rows - i - 2; j++)
            printf(" ");
        
        // मान प्रिंट करें: nCr = n! / (r! * (n-r)!)
        for (j = 0; j <= i; j++)
            printf("%d ", fact(i) / (fact(j) * fact(i - j)));
        
        printf("\n");
    }
    
    return 0;
}

आउटपुट (rows = 5)

        1
       1 1
      1 2 1
     1 3 3 1
    1 4 6 4 1

प्रोग्राम 2: सरणी के बिना, पुनरावृत्त सूत्र का उपयोग करके

यह विधि अधिक कुशल है क्योंकि यह प्रत्येक मान को पिछले मान से गणना करती है: C(n, k) = C(n, k-1) * (n - k + 1) / k

#include <stdio.h>

int main() {
    int num, row, i;
    
    printf("पंक्तियों की संख्या दर्ज करें: ");
    scanf("%d", &num);
    
    for (row = 1; row <= num; row++) {
        int val = 1;
        for (i = 1; i <= row; i++) {
            printf("%d ", val);
            val = val * (row - i) / i;
        }
        printf("\n");
    }
    
    return 0;
}

आउटपुट (rows = 6)

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

तुलना

विधिसमय जटिलतास्पेस जटिलताटिप्पणी
फैक्टोरियल (nCr)O(n³)O(1)बड़ी संख्याओं के लिए ओवरफ्लो संभव
पुनरावृत्त सूत्रO(n²)O(1)अधिक कुशल, ओवरफ्लो कम

अनुप्रयोग

  • द्विपद विस्तार: (a + b)^n
  • संभाव्यता और संयोजन गणना
  • फ्रैक्टल पैटर्न (सियरपिंस्की त्रिकोण)
  1. OpenCV में C++ का उपयोग करके रंग को ट्रैक करें OpenCV में C++ का उपयोग करके रंग को ट्रैक करें

    रंग ट्रैकिंग रंग पहचान के समान है। ट्रैकिंग उद्देश्य के लिए, हमने पता लगाए गए ऑब्जेक्ट के क्षेत्र की गणना करने के लिए कुछ अतिरिक्त लाइनें जोड़ीं और फिर उस क्षेत्र की वर्तमान स्थिति को ट्रैक किया और अंत में ऑब्जेक्ट के गति पथ को दिखाने के लिए OpenCV के line() फंक्शन का उपयोग किया।OpenCV में C++ का उप

  1. - पायथन का उपयोग करके त्रिभुज का क्षेत्रफल कैसे गणना करें

    समस्या विवरण त्रिभुज का क्षेत्रफल गणना करना एक सूत्र है जिसे आप पायथन में आसानी से लागू कर सकते हैं। यदि आपके पास त्रिभुज का आधार और ऊंचाई है, तो आप त्रिभुज का क्षेत्रफल प्राप्त करने के लिए निम्न कोड का उपयोग कर सकते हैं, def get_area(base, height): return 0.5 * base * height print(get_area(10,

  1. - पायथन का उपयोग करके स्क्रीन पर कैसे प्रिंट करें?

    स्क्रीन पर आउटपुट करने का बुनियादी तरीका print स्टेटमेंट का उपयोग करना है। >>> print Hello, world Hello, world एक ही लाइन पर स्पेस से अलग कई चीजें प्रिंट करने के लिए, उनके बीच कॉमा का उपयोग करें। उदाहरण के लिए: >>> print Hello,, World Hello, World जबकि किसी भी स्ट्रिंग में स्पेस न