সমস্যা
নিচের এক্সপ্রেশনের যোগফল বের করার প্রোগ্রাম:
Sum=1-n^2/2!+n^4/4!-n^6/6!+n^8/8!-n^10/10!
ইউজারকে রানটাইমে n-এর মান দিতে হবে এবং math.h লাইব্রেরির পাওয়ার ফাংশন ব্যবহার করে সিরিজের যোগফল বের করতে হবে।
সমাধান
পরিডিফাইনড ফাংশন ব্যবহার করে সিরিজের যোগফল বের করার পদ্ধতি নিচে ব্যাখ্যা করা হল:
অ্যালগরিদম
পরিডিফাইনড ফাংশন ব্যবহার করে সিরিজের যোগফল বের করার অ্যালগরিদম:
Step 1 − num ভ্যালু পড়ুন
Step 2 − fact = 1, sum = 1 এবং n =5 ইনিশিয়ালাইজ করুন
Step 3 − for i= 1 to n
a. compute fact= fact*i b. if i %2 = 0 c. then if i=2 or i=10 or i=6 d. then sum+= -pow(num,i)/fact e. else sum+=pow(num,i)/fact 4. print sum
উদাহরণ
পরিডিফাইনড ফাংশন ব্যবহার করে সিরিজের যোগফল বের করার সি প্রোগ্রাম:
#include<stdio.h> #include<conio.h> #include<math.h> void main(){ int i,n=5,num; long int fact=1; float sum=1; printf("Enter the n value:"); scanf("%d", &num); for(i=1;i<=n;i++){ fact=fact*i; if(i%2==0){ if(i==2|i==10|i==6) sum+= -pow(num,i)/fact; else sum+=pow(num,i)/fact; } } printf("sum is %f", sum); }
আউটপুট
Enter the n value:10 sum is 367.666656