समस्या कथन − r . में ट्रेन के रुकने के तरीकों की संख्या का पता लगाने का कार्यक्रम n . में से स्टेशन स्टेशन ताकि कोई भी दो स्टॉपिंग स्टेशन लगातार न हों।
समस्या का स्पष्टीकरण
यह प्रोग्राम उन तरीकों की संख्या की गणना करेगा, यानी क्रमपरिवर्तन जिसमें ट्रेन रुकेगी। यहां, ट्रेन बिंदु X . से यात्रा करेगी करने के लिए Y . इन बिंदुओं के बीच n . हैं स्टेशन। ट्रेन r . पर रुकेगी इन के स्टेशन n स्टेशनों को शर्तें दी गई हैं कि r . पर रुकते समय स्टेशनों पर ट्रेन लगातार दो स्टेशनों पर नहीं रुकनी चाहिए।
यह क्रमपरिवर्तन प्रत्यक्ष n . का उपयोग करके पाया जा सकता है पी<उप>आरउप> सूत्र।
आइए कुछ उदाहरण लेते हैं,
Input : n = 16 , r = 6 Output : 462
स्पष्टीकरण - इस शर्त को पूरा करने वाले 16 स्टॉप में से 6 स्टॉप पर ट्रेन जिस तरह से रुक सकती है, वह
द्वारा दिए गए क्रमपरिवर्तन सूत्र का उपयोग करके पाया जाता है।n पी<उप>आरउप> या पी (एन, आर) =एन! ∕ (एन-आर)!
एल्गोरिदम
Input : total numbers of stations n and number of stations train can stop r. Step 1 : For values of n and r calculate the value of p(n,r) = n! / (n-r)! Step 2 : print the value of p(n,r) using std print method.
उदाहरण
#include<stdio.h> int main(){ int n = 16, s = 6; printf("Total number of stations = %d\nNumber of stopping station = %d\n", s, n); int p = s; int num = 1, dem = 1; while (p!=1) { dem*=p; p--; } int t = n-s+1; while (t!=(n-2*s+1)) { num *= t; t--; } if ((n-s+1) >= s) printf("Possible ways = %d", num / dem); else printf("no possible ways"); }
आउटपुट
Total number of stations = 16 Number of stopping station = 6 Possible ways = 462