সি প্রোগ্রাম দিয়ে সিরিজ সমাধান

সি প্রোগ্রাম দিয়ে সিরিজ সমাধান

আমাদেরকে বলা হল এমন একটি সি প্রোগ্রাম লিখ যা নিন্মোক্ত সিরিজের প্রথম n সংখ্যক পদের যোগফল দেখাবে

1 2+ 32 + 52+…. + n2  যেখানে n হচ্ছে যেকোন ইনপুট।

সিরিজটি আমরা লক্ষ করি।সিরিজটি কে এভাবে লেখা যায়-

1 2+ 32 + 52+ 72+…. + n2

(1) 2+ (3)2+ (5)2+ (5+2)2+…. + n2

(1) 2+ (3)2+ (3+2)2+ (5+2)2+…. + n2

(1) 2+ (1+2)2+ (3+2)2+ (5+2)2+…. + n2

সিরিজটির প্রদগুলোকে স্কয়ার বিহীন সিকোয়েন্স কল্পনা করলে তা হবে নিন্মরূপ

(1), (1+2),(3+2) ,(5+2),…. ,n

প্রত্যেকটি পদ তার আগের পদ এবং 2 এর সমস্টির সমান। তার মানে যদি আমরা একটি সংখ্যা (এই অনুক্রমে তা 1) নিয়ে তার সাথে পর্যায়ক্রমে 2 যোগ করতে থাকি তাহলে প্রত্যেকবার আমরা বর্তমান সংখ্যার পরবর্তি সংখ্যাটি পাবো। যেহেতু আমরা একই কাজ বারবার করবো-এই আমরা এইখানে লুপ (for loop) ব্যবহার করবো । অর্থ্যাৎ লুপ হচ্ছে যা একই কাজ বার বার করে। আমরা আমাদের কোড লিখা শুরু করি।

[c]
#include
int main()
[/c]

 

সিরিজটি পাওয়ার জন্য আমাদেরকে তিনটি ভেরিয়েবল নিতে হবে যেগুলি যথাক্রমে n এর মান (যা আমরা ইনপুট হিসেবে নিবো), ধারার যোগফল এবং তৃতীয় টি লুপ ভেরিয়েবল। লুপ ভেরিয়েবল কি তা আমরা একটু পরেই জানব।

[c]
int n,i;
int sum=0;
printf(“Enter the n i.e. max values of series: “);
scanf(“%d”,&n);
[/c]

সিরিজটি শুরু হয়েছে 1 থেকে । তাই আমাদের লুপ শুরু হবে 1 থেকে।এই 1 কে একটি ভেরিয়েবলের মধ্যে রাখা হয়।এটিই লুপ ভেরিয়েবল। সিরিজটিতে পদের মান n এর সমান না হওয়া পর্যন্ত পদের মান 2 করে বাড়তে থাকে।তাই আমাদের লুপটি চলতে থাকবে যতক্ষন না পর্যন্ত লুপ ভেরিয়েবলের মান (আমাদের কোডে i) n এর সমান না হয়। লুপ ডিক্লেয়ার করার সিন্টেক্স নিন্মরুপঃ

[c]
for(i =1;i <= n;i+=2)

{

}
[/c]

এখানে লুপ শুরু হবে i =1 মান টি দিয়ে। i+=2 এর মানে হচ্ছে i এর মান 2 করে বাড়বে। i <= n হচ্ছে লুপের শর্ত বা কন্ডিশন । এটি সত্য হলে লুপ তার কাজ(লুপের মধ্যে যা অ্যাসাইন করা হয় ) চালিয়ে যাবে। এখানে i এর মান n এর চেয়ে কম বা সমান হলেই লুপ চলবে, নতুবা লুপ তার কাজ শেষ করে দিবে।

আমরা বার বার যে কাজ টি করতে যাচ্ছি তা হচ্ছে বারবার বর্গ করে যোগ করা। শুরুতে আমরা ধরে নিয়েছি আমাদের ধারার যোগফল 0 । কাজ টি করার জন্য নিচের লুপের মধ্যে Sum=sum+(i*i) অ্যাসাইন করি।
[c]
for(i =1;i <= n;i+=2)

{
Sum=sum+(i*i);
}
[/c]

i =1 হলে লুপের ভিতর থাকা Sum=sum+(i*i) কমান্ড কম্পাইলার একবার রীড করবে। অর্থ্যৎ Sum মান হবে Sum=0+(1*1)=1 । তারপর i এর মান 2 বৃদ্ধি পেয়ে 3 হবে। কম্পাইলার Sum=1+(2*2)=5 করে দিবে। এভাবে বারবার i এবং sum এর মান বাড়তে থাকবে। যখন i = n হবে তখনও লুপের ভিতরের কমান্ড রীড হবে। ইনপুট হিসেবে n=100 নিলে লুপের সর্বশেষ কাজ হবে
Sum= 328350+(100*100)=338350 করা।

এখন শুধুমাত্র printf(“Sum of the series:%d “,sum); লিখেই আমরা আলোচ্য সিরিজের যোগফল পেতে পারি। তাহলে আমাদের সম্পুর্ন কোড হবে নিন্মরূপ-

[c]
#include
int main()

{
int n,i;
int sum=0;
printf(“Enter the n i.e. max values of series: “);
scanf(“%d”,&n);
for(i =1;i <= n;i+=2)
{
Sum=sum+(i*i);
}

printf(“Sum of the series:%d “,sum);

return 0;
}
[/c]

মনে করো আমরা লুপ ব্যবহার করতে চাই না সেক্ষেত্রে আমাদের ধারার যোগফল বের করার সূত্র জানতে হবে।

n সংখ্যক বিজোড় স্বাভাবিক সংখ্যার বর্গের সমষ্টি:

1

2

3

4

5

6

1 2+ 32 + 52+ 72+…. + n2 = (n * (2n + 1)*(2n – 1)) / 3 খুব সহজেই (n * (2n + 1)*(2n – 1)) / 3 সূত্র ব্যবহার করে আমরা উপরের ধারার সমষ্টি নির্ণয় করে ফেলতে পারি ( যদিও দেখলে এভাবে সূত্র বের করা কত কঠিন )। কিন্তু সকল ক্ষেত্রে ধারার সমষ্টি এভাবে বের করা সম্ভব নাও হতে পারে।

[c]
#include
int main()

{
int n,i;
int sum=0;
printf(“Enter the n i.e. max values of series: “);
scanf(“%d”,&n);
sum=(n * (2n + 1)*(2n – 1)) / 3;
printf(“Sum of the series:%d “,sum);
return 0;
}
[/c]

প্রথম n সংখ্যক স্বাভাবিক সংখ্যার বর্গের সমষ্টি:

1 2+ 22 + 32+ 42+…. + n2  = { n(n+1)(2n+1)}/6

খুব সহজেই { n(n+1)(2n+1)}/6 সূত্র ব্যবহার করে আমরা n সংখ্যক স্বাভাবিক সংখ্যার বর্গের সমষ্টি নির্ণয় করে ফেলতে পারি।

[c]
#include
int main()
{
int n;
int sum=0;
printf(“Enter the n i.e. max values of series:”);
scanf(“%d”,n);
sum = { n(n+1)(2n+1)}/6;
printf(“Sum of the series:%d “,sum);
return 0;
}
[/c]

আবার আমরা জানি প্রথম n সংখ্যক স্বাভাবিক সংখ্যার ঘনের সমষ্টি:

1 3+ 23 + 33+ 43+…. + n3 = {n(n+1)/2}^2

খুব সহজেই {n(n+1)/2}^2 সূত্র ব্যবহার করে আমরা n সংখ্যক স্বাভাবিক সংখ্যার ঘনের সমষ্টি নির্ণয় করে ফেলতে পারি।

এখন যদি প্রথম n সংখ্যক স্বাভাবিক সংখ্যার চতুর্ঘাতের সমষ্টি নির্ণয় করতে বলা হয়:

1 4+ 24 + 34+ 44+…. + n4  = ? ?

খুব সহজেই হয়তো সূত্র বের করে আমরা n সংখ্যক স্বাভাবিক সংখ্যার চতুর্ঘাতের সমষ্টি নির্ণয় করে ফেলতে পারি।

এখন যদি প্রথম n সংখ্যক স্বাভাবিক সংখ্যার পঞ্চ ঘাত বা ষষ্ঠ ঘাত এর সমষ্টি নির্ণয় করতে বলা হয় কি করবো ?

খুব সহজেই এবার হয়তো সূত্র বের করা যাবে না। তাই আমরা যদি লুপ দিয়ে একটি কম্পিউটার প্রোগ্রাম লিখে ফেলি তাহলেই আমাদের এই সমস্যা সমাধান হয়ে যায়।

যেমন নিচের প্রোগ্রাম এ প্রথম n সংখ্যক স্বাভাবিক সংখ্যার চতুর্ঘাতের সমষ্টি নির্ণয় করতে বলা হয়: 1 5+ 25 + 35+ 45+…. + n5 

[c]
#include
int main()

{
int n,i;
int sum=0;
printf(“Enter the n i.e. max values of series: “);
scanf(“%d”,&n);
for(i =1;i <= n;i+=1) { Sum=sum+(i*i*i*i*i); } printf("Sum of the series:%d ",sum); return 0; } [/c]

3684 Total Views 2 Views Today
The following two tabs change content below.
  • সালমান সাদিক

    প্রতিদিন অপেক্ষায় থাকি স্বপ্ন পূরণ.কম এ নতুন লেখা কখন পাবো, বুয়েটের ভাইয়ারা এত সুন্দর করে বেসিক জিনিস গুলো তুলে ধরে অসাধারণ। আশা করি প্রতিনিয়ত নতুন নতুন লেখা পাবো। ভালো লাগে পড়তে, নতুন নতুন শিখতে।

    ধারার সমষ্টি নির্নয় সি প্রোগ্রামিং দিয়ে ! ওয়াও 🙂

  • রিফাত

    ধারার সমষ্টি সি প্রোগ্রামিং এ দেখানোর জন্য ধন্যবাদ

  • Dimpol

    series solution er aro kicu example cai

  • Meraj

    Vaia next pointer and string niye likbrn plz. THANKS Jakaria vaia

  • Ahmed al moksud laskor

    foysal vai, c language problem dile valo hoto and aro feature jug korle valo hoto, specially beginners der jonno . aro article dile valo hoto.

যোগাযোগ করুন

আমরা এই মূহূর্তে অনলাইনে না থাকায় সরাসরি কথা বলতে পারছি না। আপনি আমাদের একটা মেইল করে রাখতে পারেনা, যত তারাতারি সম্ভব আমরা আপনার মেইলের উত্তর করার চেষ্টা করবো।

Sending

© ২০১১-২০২০ ইচ্ছে কোড প্রোগ্রামিং স্কুল বাংলা ভাষায় প্রোগ্রামিং শিক্ষা

Log in with your credentials

Forgot your details?