समस्या
एक अंकगणितीय प्रगति श्रृंखला का योग ज्ञात करें, जहां उपयोगकर्ता को पहली संख्या, एलिमेंट्स की कुल संख्या और सामान्य अंतर दर्ज करना होता है।
समाधान
अंकगणितीय प्रगति (A.P.) संख्याओं की एक श्रृंखला है जिसमें किन्हीं दो लगातार संख्याओं का अंतर हमेशा समान होता है। यहां, एलिमेंट्स की कुल संख्या को Tn के रूप में दर्शाया गया है।
A.P. श्रृंखला का योग: Sn = n/2(2a + (n – 1) d) A.P. श्रृंखला का Tn पद: Tn = a + (n – 1) d
एल्गोरिदम
अंकगणितीय प्रगति ज्ञात करने के लिए नीचे दिया गया एल्गोरिदम देखें:
चरण 1: वेरिएबल घोषित करें।
चरण 2: sum=0 इनिशियलाइज़ करें।
चरण 3: रनटाइम पर श्रृंखला की पहली संख्या दर्ज करें।
चरण 4: रनटाइम पर श्रृंखला की कुल संख्या दर्ज करें।
चरण 5: रनटाइम पर सामान्य अंतर दर्ज करें।
चरण 6: नीचे दिए गए फॉर्मूला का उपयोग करके योग की गणना करें।
sum = (num * (2 * a + (num - 1) * diff)) / 2
चरण 7: नीचे दिए गए फॉर्मूला का उपयोग करके tn की गणना करें।
tn = a + (num - 1) * diff
चरण 8: फॉर लूप
i = a; i <= tn; i = i + diff
i. if(i != tn)
printf("%d + ", i);
ii. अन्यथा,
printf("%d = %d", i, sum);
चरण 9: नई लाइन प्रिंट करें
प्रोग्राम
अंकगणितीय प्रगति श्रृंखला का योग ज्ञात करने के लिए C प्रोग्राम निम्नलिखित है:
#include <stdio.h>
int main() {
int a, num, diff, tn, i;
int sum = 0;
printf(" enter 1st no of series: ");
scanf("%d", &a);
printf(" enter total no's in series: ");
scanf("%d", &num);
printf("enter Common Difference: ");
scanf("%d", &diff);
sum = (num * (2 * a + (num - 1) * diff)) / 2;
tn = a + (num - 1) * diff;
printf("\n sum of A.P series is : ");
for(i = a; i <= tn; i = i + diff){
if(i != tn)
printf("%d + ", i);
else
printf("%d = %d", i, sum);
}
printf("\n");
return 0;
}
आउटपुट
जब उपरोक्त प्रोग्राम चलाया जाता है, तो यह निम्नलिखित परिणाम देता है:
enter 1st no of series: 3 enter total no's in series: 10 enter Common Difference: 5 sum of A.P series is: 3 + 8 + 13 + 18 + 23 + 28 + 33 + 38 + 43 + 48 = 255 enter 1st no of series: 2 enter total no's in series: 15 enter Common Difference: 10 sum of A.P series is: 2 + 12 + 22 + 32 + 42 + 52 + 62 + 72 + 82 + 92 + 102 + 112 + 122 + 132 + 142 = 1080