জাভা ভাষায় ফিবোনাচি সংখ্যা

Jabha Bhasaya Phibonaci Sankhya



ফিবোনাচি সংখ্যা হল ধনাত্মক (সম্পূর্ণ) পূর্ণসংখ্যার একটি নির্দিষ্ট ক্রম, শূন্য থেকে শুরু করে ধনাত্মক অসীম পর্যন্ত। বর্তমান ফিবোনাচি সংখ্যাটি তাৎক্ষণিক আগের দুটি ফিবোনাচি সংখ্যা যোগ করে পাওয়া যায়। অবিলম্বে পূর্ববর্তী দুটি ফিবোনাচি সংখ্যা শুধুমাত্র কোন সংখ্যা নয়।

আসলে, প্রথম দুটি ফিবোনাচি সংখ্যা পূর্বনির্ধারিত। প্রথম ফিবোনাচি সংখ্যা হল 0 এবং দ্বিতীয় ফিবোনাচি সংখ্যা হল 1৷ শূন্য-ভিত্তিক সূচীকরণের সাথে এবং ধরে নেওয়া হচ্ছে ফিবোনাচি সংখ্যাগুলি একটি অ্যারেতে রয়েছে, তারপর:

সূচকে 0 , ফিবোনাচি সংখ্যা হল 0 , ( পূর্বনির্ধারিত ) ;

সূচকে 1 , ফিবোনাচি সংখ্যা হল 1 , ( পূর্বনির্ধারিত ) ;

সূচকে দুই , ফিবোনাচি সংখ্যা হল 1 = 1 + 0 , ( সংজ্ঞানুসারে ) ;

সূচকে 3 , ফিবোনাচি সংখ্যা হল দুই = 1 + 1 , ( সংজ্ঞানুসারে ) ;

সূচকে 4 , ফিবোনাচি সংখ্যা হল 3 = দুই + 1 , ( সংজ্ঞানুসারে ) ;

সূচকে 5 , ফিবোনাচি সংখ্যা হল 5 = 3 + দুই , ( সংজ্ঞানুসারে ) ;

সূচকে 6 , ফিবোনাচি সংখ্যা হল 8 = 5 + 3 , ( সংজ্ঞানুসারে ) ;

সূচকে 7 , ফিবোনাচি সংখ্যা হল 13 = 8 + 5 , ( সংজ্ঞানুসারে ) ;

সূচকে 8 , ফিবোনাচি সংখ্যা হল একুশ = 13 + 8 , ( সংজ্ঞানুসারে ) ;

সূচকে 9 , ফিবোনাচি সংখ্যা হল 3. 4 = একুশ + 13 , ( সংজ্ঞানুসারে ) ;

এবং তাই







প্রোগ্রামিং-এ, এই ফিবোনাচি সংখ্যার জন্য শূন্য-ভিত্তিক সূচকগুলির জন্য n, এবং not i ভেরিয়েবল ব্যবহার করা হয়। এবং এর সাথে, প্রথম বারোটি ফিবোনাচি সংখ্যা হল:



0 1 1 দুই 3 5 8 13 একুশ 3. 4 55 ৮৯
0 1 দুই 3 4 5 6 7 8 9 10 এগারো

টেবিলের দ্বিতীয় সারিটি শূন্য-ভিত্তিক সূচী দেয়, যার প্রতিটিতে প্রোগ্রামিং-এ ভেরিয়েবল n থাকবে। প্রথম সারি সংশ্লিষ্ট ফিবোনাচি সংখ্যা দেয়। সুতরাং, ফিবোনাচি সংখ্যা শুধুমাত্র কোন সংখ্যা নয়। মূল সংজ্ঞাটি 0 দিয়ে শুরু হয়, প্রথম ফিবোনাচি সংখ্যার জন্য এবং দ্বিতীয় ফিবোনাচি সংখ্যার জন্য 1। বাকি সংখ্যা সেখান থেকে উত্পাদিত হয়।



ফিবোনাচি সংখ্যাগুলি O(n) সময়ে এবং O(1) সময়েও উত্পাদিত হতে পারে। O(n) সময়ের জন্য, উদাহরণস্বরূপ n যদি 12 হয়, তাহলে প্রথম বারোটি ফিবোনাচি সংখ্যা তৈরি হবে। O(1) সময়ের জন্য, শুধুমাত্র একটি ফিবোনাচি সংখ্যা উত্পাদিত হয়। উদাহরণস্বরূপ, যদি n 6 হয়, তাহলে ফিবোনাচি সংখ্যা 8 উৎপন্ন হবে।





এই নিবন্ধটি জাভাতে ফিবোনাচি সংখ্যা তৈরির এই দুটি উপায় ব্যাখ্যা করে।

একটি ফিবোনাচি সংখ্যার সূত্র

ফিবোনাচি সংখ্যার জন্য একটি গাণিতিক সূত্র আছে। এই সূত্রটি তিন লাইন বা এক লাইনে লেখা যেতে পারে। তিনটি লাইনে, এটি লেখা হয়েছে:

যেখানে এফ n শূন্য-ভিত্তিক n এ ফিবোনাচি সংখ্যা সূচক ফিবোনাচি সংখ্যাকে এভাবে সংজ্ঞায়িত করা হয়।



O(n) সময়ে ফিবোনাচি সংখ্যা তৈরি করা

যদি ফিবোনাচি সংখ্যাগুলিকে O(3) বারে উত্পাদিত করা হয়, তাহলে সংখ্যাগুলি, 0, 1, 1 উৎপন্ন হবে; এগুলি হল প্রথম তিনটি ফিবোনাচি সংখ্যা। শেষ শূন্য-ভিত্তিক n এখানে সূচক হল 2। যদি ফিবোনাচি সংখ্যাগুলিকে O(7) বারে উত্পাদিত করা হয়, তাহলে সংখ্যাগুলি, 0, 1, 1, 2, 3, 5, 8 উৎপন্ন হবে; এগুলি হল প্রথম সাতটি ফিবোনাচি সংখ্যা। শেষ শূন্য-ভিত্তিক n এখানে সূচক হল 6। যদি ফিবোনাচি সংখ্যাগুলিকে O(n) বারে উত্পাদিত করা হয়, তাহলে সংখ্যাগুলি, 0, 1, 1, 2, 3, 5, 8 – – -, উত্পাদিত হবে; সেগুলি হল প্রথম n ফিবোনাচি সংখ্যা। শেষ শূন্য-ভিত্তিক n এখানে সূচক হল n-1।

প্রথম n ফিবোনাচি সংখ্যা তৈরি করার জন্য একটি ক্লাসে জাভা পদ্ধতি হল:

ক্লাস ফিবোনাচি {
অকার্যকর ফিবোনাচি ( int [ ] পৃ ) {
int n = পৃ. দৈর্ঘ্য ;
যদি ( n > 0 )
পৃ [ 0 ] = 0 ;
যদি ( n > 1 )
পৃ [ 1 ] = 1 ;
জন্য ( int i = দুই ; i < n ; i ++ ) { //n=0 এবং n=2 বিবেচনা করা হয়েছে
int currNo = পৃ [ i - 1 ] + পৃ [ i - দুই ] ;
পৃ [ i ] = currNo ;
}
}
}

ক্লাস, ফিবোনাচি ব্যক্তিগত। দ্য ফিবোনাচি() পদ্ধতি অ্যারে পি নেয় এবং অকার্যকর প্রদান করে। পদ্ধতিটি অ্যারের দৈর্ঘ্য নির্ধারণ করে শুরু হয়। n এর এই দৈর্ঘ্যটি প্রয়োজনীয় ফিবোনাচি সংখ্যার সংখ্যা। প্রথম এবং দ্বিতীয় ফিবোনাচি সংখ্যাগুলি স্পষ্টভাবে নির্ধারণ করা হয় এবং অ্যারের প্রথম এবং দ্বিতীয় অবস্থানে রাখা হয়।

তৃতীয় (সূচক, n = 2) থেকে শুরু হওয়া বাকি ফিবোনাচি সংখ্যাগুলি একটি ফর-লুপে নির্ধারিত হয় এবং অ্যারেতে তাদের অবস্থানে রাখে। সুতরাং, ফাংশন অকার্যকর ফিরে আছে. ফর-লুপে প্রধান বিবৃতিটি পূর্ববর্তী দুটি সংখ্যা যোগ করে।

ইনডেক্স ভেরিয়েবল, i, n এর পরিবর্তে ব্যবহার করা হয়েছে, স্বচ্ছতার উদ্দেশ্যে।

একটি উপযুক্ত জাভা প্রধান শ্রেণী (জাভা প্রধান পদ্ধতি সহ) হল:

পাবলিক ক্লাস প্রধান {
পাবলিক স্থির অকার্যকর প্রধান ( স্ট্রিং args [ ] ) {
int মি = 12 ;
int [ ] arr = নতুন int [ মি ] ;
ফিবোনাচি বস্তু = নতুন ফিবোনাচি ( ) ;
বস্তু ফিবোনাচি ( arr ) ;
জন্য ( int i = 0 ; i < মি ; i ++ )
পদ্ধতি . আউট . ছাপা ( arr [ i ] + '' ) ;
পদ্ধতি . আউট . println ( ) ;
}
}

ফিবোনাচি() পদ্ধতিতে সংখ্যাগুলি তৈরি করার পরে, জাভা প্রধান পদ্ধতিটি সেগুলি পড়ে।

ধ্রুবক সময়ে একটি ফিবোনাচি সংখ্যা তৈরি করা

একটি গাণিতিক সূত্র আছে যা একটি ফিবোনাচি সংখ্যা তৈরি করতে ব্যবহার করা যেতে পারে, যখন সংশ্লিষ্ট শূন্য-ভিত্তিক সূচক দেওয়া হয়, n। সূত্রটি হল:

যেখানে n হল শূন্য-ভিত্তিক সূচক এবং Fib n সংশ্লিষ্ট ফিবোনাচি সংখ্যা। লক্ষ্য করুন যে সমীকরণের ডানদিকে, এটি 5 এর বর্গমূল নয় যা এন শক্তিতে উত্থিত হয়; এটি বন্ধনীর অভিব্যক্তি যা পাওয়ার n এ উত্থাপিত হয়। এই ধরনের অভিব্যক্তি দুটি আছে.

যদি n 0 হয়, Fib n 0 হবে। n 1 হলে, Fib n 1 হবে। n 2 হলে, Fib n 1 হবে। n 3 হলে, Fib n 2 হবে। n 4 হলে, Fib n 3 হবে - এবং তাই। পাঠক এই সূত্রটিকে গাণিতিকভাবে যাচাই করতে পারেন, n এর জন্য বিভিন্ন মান প্রতিস্থাপন করে এবং মূল্যায়ন করে।

কোড করা হলে, এই সূত্রটি n-এর জন্য শুধুমাত্র একটি ফিবোনাচি সংখ্যা তৈরি করবে। যদি একাধিক ফিবোনাচি সংখ্যার প্রয়োজন হয়, তাহলে সূত্রের কোডটি প্রতিটি সংশ্লিষ্ট সূচকের জন্য একবার কল করতে হবে।

জাভাতে, শুধুমাত্র একটি ফিবোনাচি সংখ্যা তৈরি করার পদ্ধতি হল:

আমদানি java.lang.* ;

ক্লাস ফিব {
দ্বিগুণ fibNo ( int n ) {
দ্বিগুণ FibN = ( গণিত . pow ( ( 1 + গণিত . sqrt ( 5 ) ) / দুই , n ) - গণিত . pow ( ( 1 - গণিত . sqrt ( 5 ) ) / দুই , n ) ) / গণিত . sqrt ( 5 ) ;
প্রত্যাবর্তন FibN ;
}
}

java.lang.* প্যাকেজটি প্রোগ্রামের শুরুতে আমদানি করতে হয়েছিল। কারণ প্যাকেজটিতে গণিত ক্লাস রয়েছে, যার শক্তি (পাও) এবং বর্গমূল (sqrt) পদ্ধতি রয়েছে। এখানে কাস্টম জাভা পদ্ধতি সরাসরি গণিত সূত্র প্রয়োগ করে।

এই ফাংশনের সময় জটিলতা হল O(1), একটি প্রধান অপারেশনের ধ্রুবক নিয়ন্ত্রণ। উপরের পদ্ধতির জন্য জাভা প্রধান পদ্ধতি সহ একটি উপযুক্ত জাভা মেইন ক্লাস হল:

পাবলিক ক্লাস প্রধান {
পাবলিক স্থির অকার্যকর প্রধান ( স্ট্রিং args [ ] ) {
int এন = এগারো ;
ফিব বস্তু = নতুন ফিব ( ) ;
দ্বিগুণ অধিকার = বস্তু fibNo ( এন ) ;
পদ্ধতি . আউট . println ( অধিকার ) ;
}
}

সূচক n = 11 পাঠানো হয় এবং ফিবোনাচি নম্বর, 89 ফেরত দেওয়া হয়। আউটপুট হল:

89.00000000000003

অপ্রয়োজনীয় দশমিক সংখ্যা মুছে ফেলা যেতে পারে, তবে এটি অন্য সময়ের জন্য একটি আলোচনা।

উপসংহার

ফিবোনাচি সংখ্যা হল পূর্ণ সংখ্যার একটি বিশেষ ক্রম। বর্তমান সংখ্যা পেতে, অবিলম্বে পূর্ববর্তী দুটি সংশ্লিষ্ট সংখ্যা যোগ করুন। প্রথম দুটি ফিবোনাচি সংখ্যা, 0 এর পরে 1, পুরো ক্রমটির জন্য পূর্ব-ঘোষিত। বাকি ফিবোনাচি সংখ্যাগুলো সেখান থেকে তৈরি হয়।

সূচক 2 থেকে ফিবোনাচি সংখ্যা তৈরি করতে, যা সূচক n-1 এর সাথে মিলে যায়, প্রধান বিবৃতি সহ একটি ফর-লুপ ব্যবহার করুন:

int currNo = পৃ [ i - 1 ] + পৃ [ আমি - দুই ] ;

যেখানে currNo হল বর্তমান ফিবোনাচি সংখ্যা এবং P হল n সংখ্যাগুলি সংরক্ষণ করার জন্য অ্যারে।

যেকোনো শূন্য-ভিত্তিক সূচক n থেকে মাত্র একটি ফিবোনাচি সংখ্যা তৈরি করতে, গাণিতিক সূত্রটি ব্যবহার করুন: