برنامه تشخیص عدد فیبوناچی — به زبان ساده

در این مطلب، روش نوشتن برنامه‌ای که یک عدد را از ورودی دریافت می‌کند و تشخیص می‌دهد که عدد فیبوناچی است یا خیر، مورد بررسی قرار گرفته است.

برنامه تشخیص عدد فیبوناچی

فرض می‌شود که عدد n داده شده است. هدف، بررسی این است که آیا عدد مذکور فیبوناچی است یا خیر. اولین اعداد سری فیبوناچی عبارتند از:

۰، ۱، ۱، ۲، ۳، ۵، ۸، ۱۳، ۲۱، ۳۴، ۵۵، ۸۹، ۱۴۱، …

مثال

ورودی: ۸

خروجی: بله

 

ورودی: ۳۴

خروجی: بله

 

ورودی: ۴۱

خروجی: خیر

 

یک راهکار ساده برای حل این مساله، تولید اعداد فیبوناچی بزرگ‌تر و مساوی n است. در ادامه، یک خصوصیت جالب از اعداد فیبوناچی بیان شده که برای بررسی اینکه آیا یک عدد فیبوناچی است یا خیر نیز قابل استفاده است. یک عدد فیبوناچی است اگر و تنها اگر (۵*n2 + 4) یا (۵*n2 – ۴) مربع کامل باشند. در ادامه، چگونگی پیاده‌سازی برنامه تشخیص عدد فیبوناچی در زبان‌های برنامه‌نویسی گوناگون شامل ++C، «جاوا» (Java)، «پایتون» (Python)، «سی‌شارپ» (#C) و «پی‌اچ‌پی» (PHP) با استفاده از روش مذکور، ارائه شده است.

برنامه تشخیص عدد فیبوناچی در ++C

// C++ program to check if x is a perfect square 
#include <iostream> 
#include <math.h> 
using namespace std; 

// A utility function that returns true if x is perfect square 
bool isPerfectSquare(int x) 
{ 
int s = sqrt(x); 
return (s*s == x); 
} 

// Returns true if n is a Fibinacci Number, else false 
bool isFibonacci(int n) 
{ 
// n is Fibinacci if one of 5*n*n + 4 or 5*n*n - 4 or both 
// is a perferct square 
return isPerfectSquare(5*n*n + 4) || 
isPerfectSquare(5*n*n - 4); 
} 

// A utility function to test above functions 
int main() 
{ 
for (int i = 1; i <= 10; i++) 
isFibonacci(i)? cout << i << " is a Fibonacci Number \n": 
cout << i << " is a not Fibonacci Number \n" ; 
return 0; 
}

برنامه تشخیص عدد فیبوناچی در جاوا

// Java program to check if x is a perfect square 

class GFG 
{ 
// A utility method that returns true if x is perfect square 
static boolean isPerfectSquare(int x) 
{ 
int s = (int) Math.sqrt(x); 
return (s*s == x); 
} 

// Returns true if n is a Fibonacci Number, else false 
static boolean isFibonacci(int n) 
{ 
// n is Fibonacci if one of 5*n*n + 4 or 5*n*n - 4 or both 
// is a perfect square 
return isPerfectSquare(5*n*n + 4) || 
isPerfectSquare(5*n*n - 4); 
} 

// Driver method 
public static void main(String[] args) 
{ 
for (int i = 1; i <= 10; i++) 
System.out.println(isFibonacci(i) ? i + " is a Fibonacci Number" : 
i + " is a not Fibonacci Number"); 
} 
} 
//This code is contributed by Nikita Tiwari

برنامه تشخیص عدد فیبوناچی در پایتون

# python program to check if x is a perfect square 
import math 

# A utility function that returns true if x is perfect square 
def isPerfectSquare(x): 
s = int(math.sqrt(x)) 
return s*s == x 

# Returns true if n is a Fibinacci Number, else false 
def isFibonacci(n): 

# n is Fibinacci if one of 5*n*n + 4 or 5*n*n - 4 or both 
# is a perferct square 
return isPerfectSquare(5*n*n + 4) or isPerfectSquare(5*n*n - 4) 

# A utility function to test above functions 
for i in range(1,11): 
if (isFibonacci(i) == True): 
print i,"is a Fibonacci Number"
else: 
print i,"is a not Fibonacci Number "

برنامه تشخیص عدد فیبوناچی در #C

// C# program to check if 
// x is a perfect square 
using System; 

class GFG { 

// A utility function that returns 
// true if x is perfect square 
static bool isPerfectSquare(int x) 
{ 
int s = (int)Math.Sqrt(x); 
return (s * s == x); 
} 

// Returns true if n is a 
// Fibonacci Number, else false 
static bool isFibonacci(int n) 
{ 
// n is Fibonacci if one of 
// ۵*n*n + 4 or 5*n*n - 4 or 
// both are a perfect square 
return isPerfectSquare(5 * n * n + 4) || 
isPerfectSquare(5 * n * n - 4); 
} 

// Driver method 
public static void Main() 
{ 
for (int i = 1; i <= 10; i++) 
Console.WriteLine(isFibonacci(i) ? i + 
" is a Fibonacci Number" : i + 
" is a not Fibonacci Number"); 
} 
} 

// This code is contributed by Sam007

برنامه تشخیص عدد فیبوناچی در PHP

<?php 
// PHP program to check if 
// x is a perfect square 

// A utility function that 
// returns true if x is 
// perfect square 
function isPerfectSquare($x) 
{ 
$s = (int)(sqrt($x)); 
return ($s * $s == $x); 
} 

// Returns true if n is a 
// Fibinacci Number, else false 
function isFibonacci($n) 
{ 
// n is Fibinacci if one of 
// ۵*n*n + 4 or 5*n*n - 4 or 
// both is a perferct square 
return isPerfectSquare(5 * $n * $n + 4) || 
isPerfectSquare(5 * $n * $n - 4); 
} 

// Driver Code 
for ($i = 1; $i <= 10; $i++) 
if(isFibonacci($i)) 
echo "$i is a Fibonacci Number \n"; 
else
echo "$i is a not Fibonacci Number \n" ; 

// This code is contributed by mits 
?>

خروجی قطعه کدهای ارائه شده

۱ is a Fibonacci Number
۲ is a Fibonacci Number
۳ is a Fibonacci Number
۴ is a not Fibonacci Number
۵ is a Fibonacci Number
۶ is a not Fibonacci Number
۷ is a not Fibonacci Number
۸ is a Fibonacci Number
۹ is a not Fibonacci Number
۱۰ is a not Fibonacci Number

اگر نوشته بالا برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

منبع [+]

۲ نظر در "برنامه تشخیص عدد فیبوناچی — به زبان ساده"
  1. ۱ .برنامهای بنویسید که تا وقتی عدد وارد شده از عدد قبلی بزرگتر است از کاربر عدد بگیرد و به
    محض وارد شدن عدد کوچکتر حاصل جمع و میانگین اعداد وارد شده از ابتدای شروع برنامه را در
    خروجی نمایش میدهد.

  2. ۱ .برنامهای بنویسید که تا وقتی عدد وارد شده از عدد قبلی بزرگتر است از کاربر عدد بگیرد و به
    محض وارد شدن عدد کوچکتر حاصل جمع و میانگین اعداد وارد شده از ابتدای شروع برنامه را در
    خروجی نمایش میدهد.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *