মঙ্গলবার, ২০ অক্টোবর, ২০১৫
রবিবার, ২০ সেপ্টেম্বর, ২০১৫
দুটি সংখ্যার সীমার মাঝে কতটি ফিবোনাচ্চি সংখ্যা অাছে ?
দুইটি সংখ্যা a , b দেওয়া অাছে । [a,b] সীমার মাঝেকতটি ফিবোনাচ্চি সংখ্যা অাছে অামাদেরকে বের করতে হবে । a ও b দেওয়া অাছে । তারা উভয়ই ফিবোনাচ্চি হতেও পারে অাবার নাও হতে পারে । ফিবোনাচ্চি হলে ফিবোনাচ্চি সংখ্যার একটি সূত্র ব্যবহার করে a ও b কততম ফিবোনাচ্চি সংখ্যা কততম তা বের করতে পারি । a যদি ফিবোনাচ্চি সংখ্যা না হয় তাহলে a এর পরের ফিবোনাচ্চি সংখ্যাটি কততম এবং b যদি ফিবোনাচ্চি সংখ্যা না হয় b এর অাগের ফিবোনাচ্চি সংখ্যাটি কততম বের করতে পারি । এখন যদি এই দুটি ক্রমের বিয়োগফলই হবে a ও b এর মাঝে কতটি ফিবোনাচ্চি সংখ্যা অাছে ।
মনে করি F > 1 একটি ফিবোনাচ্চি সংখ্যা । তাহলে F কততম ফিবোনাচ্চি সংখ্যা তা বের করার জন্য নিচের সূত্রটি ব্যবহা করব ।

সূত্রটি যদি F এর মান এক এর চেয়ে বড় হয় তাহলে সঠিক ফলাফল দিবে ।
যেখানে :

উদাহরণ দিলে অারও পরিষ্কার হবে : 10 ও 100 এর মাঝে কতটি ফিবোনাচ্চি সংখ্যা অাছে তা বের করতে হবে । তা বের করার জন্য উপরের সূত্র ব্যবহার করে পাই 10(F) = 6 এবং 100(F) = 11 । বিয়োগফল 5 । সুতরাং 10 এবং 100 এর মাঝে 5 টি ফিবোনাচ্চি সংখ্যা অাছে । নিচে ফিবোনাচ্চি সংখ্যার সিরিজেও দেখা যাচ্ছে 10 ও 100 এর মাঝে 5 টি ফিবোনাচ্চি সংখ্যা অাছে ।

সি প্রোগ্রামিং ভাষায় যদি উপরের হিসেব করার প্রোগ্রাম :
[code language="c"]
#include <stdio.h>
#include <math.h>
int main()
{
double phi = (1+sqrt(5))/2;
int a, b,count = 0,aF,bF;
printf("Enter two numbers: \n");
scanf("%d%d",&a,&b);//Taking input a and b
//logarithm of x base b = log(x)/log(b)
aF = floor(log(a*sqrt(5)+0.5)/log(phi));
bF = floor(log(b*sqrt(5)+0.5)/log(phi));
count = bF - aF;
printf("\nThere are total %d fibonacci numbers.\n",count);
return 0;
}
[/code]
সূত্র ও ছবি : উইকিপিডিয়া ।
মনে করি F > 1 একটি ফিবোনাচ্চি সংখ্যা । তাহলে F কততম ফিবোনাচ্চি সংখ্যা তা বের করার জন্য নিচের সূত্রটি ব্যবহা করব ।

সূত্রটি যদি F এর মান এক এর চেয়ে বড় হয় তাহলে সঠিক ফলাফল দিবে ।
যেখানে :

উদাহরণ দিলে অারও পরিষ্কার হবে : 10 ও 100 এর মাঝে কতটি ফিবোনাচ্চি সংখ্যা অাছে তা বের করতে হবে । তা বের করার জন্য উপরের সূত্র ব্যবহার করে পাই 10(F) = 6 এবং 100(F) = 11 । বিয়োগফল 5 । সুতরাং 10 এবং 100 এর মাঝে 5 টি ফিবোনাচ্চি সংখ্যা অাছে । নিচে ফিবোনাচ্চি সংখ্যার সিরিজেও দেখা যাচ্ছে 10 ও 100 এর মাঝে 5 টি ফিবোনাচ্চি সংখ্যা অাছে ।

সি প্রোগ্রামিং ভাষায় যদি উপরের হিসেব করার প্রোগ্রাম :
[code language="c"]
#include <stdio.h>
#include <math.h>
int main()
{
double phi = (1+sqrt(5))/2;
int a, b,count = 0,aF,bF;
printf("Enter two numbers: \n");
scanf("%d%d",&a,&b);//Taking input a and b
//logarithm of x base b = log(x)/log(b)
aF = floor(log(a*sqrt(5)+0.5)/log(phi));
bF = floor(log(b*sqrt(5)+0.5)/log(phi));
count = bF - aF;
printf("\nThere are total %d fibonacci numbers.\n",count);
return 0;
}
[/code]
সূত্র ও ছবি : উইকিপিডিয়া ।
লেবেলসমূহ:
প্রোগ্রামিং
মঙ্গলবার, ২৩ জুন, ২০১৫
তৃতীয় ভেরিয়েবল ব্যবহার না করে দুটি ভেরিয়েবলের মান সোয়াপ করা
প্রোগ্রামিং করতে গিয়ে বিভিন্ন সময় অামাদের দুটি ভেরিয়েবলের মান সোয়াপ করতে হয় । দুটি ভেরিয়েবলের মান সোয়াপ করার অর্থ হল প্রথম ভেরিয়েবলের মান দ্বিতীয় ভেরিয়েবলে রাখা এবং দ্বিতীয় ভেরিয়েবলের মান প্রথম ভেরিয়েবলে রাখা । মনে করি num1 = 80 , num2 = 34 দুইটি ভেরিয়েবল। দুইটি ভেরিয়েবলের মান সোয়াপ করার অর্থ num1 এর মান num2 তে এবং num2 এর মান num1 এ রাখা । অামরা বিভিন্নভাবে দুটি ভেরিয়েবলের মান সোয়াপ করতে পারি । অাজ অামরা কোন ভেরিয়েবলের সাহায্য না নিয়ে কিভাবে দুটি ভেরিয়েবলের মান সোয়াপ করতে পারিন তা দেখব । প্রথমে বিস্তারিত অালোচনা করা হবে এবং তার পাশাপাশি সি প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করে দেখানো হবে ।
- প্রথম ভেরিয়েবল ও দ্বিতীয় ভেরিয়েবল যোগ করে যোগফল দ্বিতীয় ভেরিয়েবলে রাখব। যেমন: num2 = num1 + num2 । এখন num2 = num1 + num2 = 80 + 34 = 114 হবে । এই ধাপ শেষে num2 এর মান হয়ে গেল 114 ।
- দ্বিতীয় ভেরিয়েবল হতে প্রথম ভেরিয়েবল বিয়েোগ করে বিয়োগফল প্রথম ভেরিয়েবলে রাখব । যেমন : num1 = num2 - num1। এখন num1 = num2 - num1 = 114 - 80 = 34 হবে । এই ধাপ শেষে num1 এর মান হয়ে গেল 34 ।
- দ্বিতীয় ভেরিয়েবল হতে প্রথম ভেরিয়েবল বিয়োগ করে বিয়োগফল দ্বিতীয় ভেরিয়েবলে রাখব । যেমন: num2 = num2 - num1 । এখন num2 = num2 - num1 = 114 - 34 = 80 হবে। এই ধাপ শেষে num2 এর মান হয়ে গেল 80 ।
প্রোগ্রামটির রান করার পরে কনসোলে:
![]() |
| সোয়াপ করার অাগে ও পরে ভেরিয়েবলের মান |
ডাউনলোড
লেবেলসমূহ:
প্রোগ্রামিং,
সি প্রোগ্রামিং
এতে সদস্যতা:
মন্তব্যসমূহ (Atom)
