Conocemos el número de Fibonacci , F n = F n-1 + F n-2.
Los primeros números de Fibonacci son 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, …. .
Aquí hay algunos datos interesantes sobre el número de Fibonacci:
1. Patrón en los últimos dígitos de los números de Fibonacci: Los
últimos dígitos de los primeros números de Fibonacci son:
0, 1, 1, 2, 3, 5, 8, 3, 1, 4, 5, 9, 4, 3, 7, 0, 7, ...
La serie de últimos dígitos se repite con una longitud de ciclo de 60 (consulte esto para obtener explicaciones de este resultado).
C++
// C++ program to demonstrate that sequence of last // digits of Fibonacci numbers repeats after 60. #include <bits/stdc++.h> using namespace std; #define max 100 int main() { long long int arr[max]; arr[0] = 0; arr[1] = 1; int i = 0; // storing Fibonacci numbers for (i = 2; i < max; i++) { arr[i] = arr[i - 1] + arr[i - 2]; } // Traversing through store numbers for (i = 1; i < max - 1; i++) { // Since first two number are 0 and 1 // so, if any two consecutive number encounter 0 and // 1 at their unit place, then it clearly means that // number is repeating/ since we just have to find // the sum of previous two number cout << i << endl; if ((arr[i] % 10 == 0) && (arr[i + 1] % 10 == 1)) { break; } } cout << "Sequence is repeating after index " << i << endl; }
C
// C program to demonstrate that sequence of last // digits of Fibonacci numbers repeats after 60. #include <stdio.h> #define max 100 int main() { long long int arr[max]; arr[0] = 0; arr[1] = 1; int i = 0; // storing Fibonacci numbers for (i = 2; i < max; i++) arr[i] = arr[i - 1] + arr[i - 2]; // Traversing through store numbers for (i = 1; i < max - 1; i++) { // Since first two number are 0 and 1 // so, if any two consecutive number encounter 0 and // 1 at their unit place, then it clearly means that // number is repeating/ since we just have to find // the sum of previous two number if ((arr[i] % 10 == 0) && (arr[i + 1] % 10 == 1)) break; } printf("Sequence is repeating after index %d", i); } // The code is contributed by Gautam goel (gautamgoel962)
Java
// Java program to demonstrate that sequence of last // digits of Fibonacci numbers repeats after 60. class GFG{ static int max=100; public static void main(String[] args) { long[] arr=new long[max]; arr[0] = 0; arr[1] = 1; int i=0; // storing Fibonacci numbers for (i = 2; i < max; i++) arr[i] = arr[i-1] + arr[i-2]; // Traversing through store numbers for (i = 1; i < max - 1; i++) { // Since first two number are 0 and 1 // so, if any two consecutive number encounter 0 and 1 // at their unit place, then it clearly means that // number is repeating/ since we just have to find // the sum of previous two number if ((arr[i] % 10 == 0) && (arr[i+1] % 10 == 1)) break; } System.out.println("Sequence is repeating after index "+i); } } // This code is contributed by mits
Python3
# Python3 program to demonstrate that sequence of last # digits of Fibonacci numbers repeats after 60. if __name__=='__main__': max = 100 arr = [0 for i in range(max)] arr[0] = 0 arr[1] = 1 # storing Fibonacci numbers for i in range(2, max): arr[i] = arr[i - 1] + arr[i - 2] # Traversing through store numbers for i in range(1, max - 1): # Since first two number are 0 and 1 # so, if any two consecutive number encounter 0 and 1 # at their unit place, then it clearly means that # number is repeating/ since we just have to find # the sum of previous two number if((arr[i] % 10 == 0) and (arr[i + 1] % 10 == 1)): break print("Sequence is repeating after index", i) # This code is contributed by # Sanjit_Prasad
C#
// C# program to demonstrate that sequence of last // digits of Fibonacci numbers repeats after 60. class GFG{ static int max=100; public static void Main() { long[] arr=new long[max]; arr[0] = 0; arr[1] = 1; int i=0; // storing Fibonacci numbers for (i = 2; i < max; i++) arr[i] = arr[i-1] + arr[i-2]; // Traversing through store numbers for (i = 1; i < max - 1; i++) { // Since first two number are 0 and 1 // so, if any two consecutive number encounter 0 and 1 // at their unit place, then it clearly means that // number is repeating/ since we just have to find // the sum of previous two number if ((arr[i] % 10 == 0) && (arr[i+1] % 10 == 1)) break; } System.Console.WriteLine("Sequence is repeating after index "+i); } } // This code is contributed by mits
PHP
<?php // php program to demonstrate that // sequence of last digits of // Fibonacci numbers repeats after // 60. global $MAX=100 $arr[0] = 0; $arr[1] = 1; // storing Fibonacci numbers for ($i = 2; $i < 100; $i++) $arr[$i] = $arr[$i-1] + $arr[$i-2]; // Traversing through store // numbers for ($i = 1; $i <100 - 1; $i++) { // Since first two number are // 0 and 1 so, if any two // consecutive number encounter // 0 and 1 at their unit place, // then it clearly means that // number is repeating/ since // we just have to find the // sum of previous two number if (($arr[$i] % 10 == 0) && ($arr[$i+1] % 10 == 1)) break; } echo "Sequence is repeating after", " index ", $i; // This code is contributed by ajit ?>
Javascript
<script> // Javascript program to demonstrate that // sequence of last digits of Fibonacci // numbers repeats after 60. var max = 100; var arr = Array(max).fill(0); arr[0] = 0; arr[1] = 1; var i = 0; // Storing Fibonacci numbers for(i = 2; i < max; i++) arr[i] = arr[i - 1] + arr[i - 2]; // Traversing through store numbers for(i = 1; i < max - 1; i++) { // Since first two number are 0 and 1 // so, if any two consecutive number encounter 0 and 1 // at their unit place, then it clearly means that // number is repeating since we just have to find // the sum of previous two number if ((arr[i] % 10 == 0) && (arr[i + 1] % 10 == 1)) break; } // Driver code document.write("Sequence is repeating after index " + i); // This code is contributed by gauravrajput1 </script>
Producción:
Sequence is repeating after index 60
2. Factores del número de Fibonacci: en una observación cuidadosa, podemos observar lo siguiente:
- Cada tercer número de Fibonacci es un múltiplo de 2
- Cada 4-ésimo número de Fibonacci es un múltiplo de 3
- Cada quinto número de Fibonacci es un múltiplo de 5
- Cada sexto número de Fibonacci es un múltiplo de 8
Consulte esto para más detalles.
C++
// C++ program to demonstrate divisibility of Fibonacci // numbers. #include<iostream> using namespace std; #define MAX 90 int main() { // indexes variable stores index of number that // is divisible by 2, 3, 5 and 8 long long int arr[MAX], index1[MAX], index2[MAX]; long long int index3[MAX], index4[MAX]; // storing fibonacci numbers arr[0] = 0; arr[1] = 1; for (int i = 2; i < MAX; i++) arr[i] = arr[i-1] + arr[i-2]; // c1 keeps track of number of index of number // divisible by 2 and others c2, c3 and c4 for // 3, 5 and 8 int c1 = 0, c2 = 0, c3 = 0, c4 = 0; // separating fibonacci number into their // respective array for (int i = 0; i < MAX; i++) { if (arr[i] % 2 == 0) index1[c1++] = i; if (arr[i] % 3 == 0) index2[c2++] = i; if (arr[i] % 5 == 0) index3[c3++] = i; if (arr[i] % 8 == 0) index4[c4++] = i; } // printing index arrays cout<<"Index of Fibonacci numbers divisible by" " 2 are :\n"; for (int i = 0; i < c1; i++) cout<<" "<< index1[i]; cout<<"\n"; cout<<"Index of Fibonacci number divisible by" " 3 are :\n"; for (int i = 0; i < c2; i++) cout<<" "<< index2[i]; cout<<"\n"; cout<<"Index of Fibonacci number divisible by" " 5 are :\n"; for (int i = 0; i < c3; i++) cout<<" "<< index3[i]; cout<<"\n"; cout<<"Index of Fibonacci number divisible by" " 8 are :\n"; for (int i = 0; i < c4; i++) cout<<" "<<index4[i]; cout<<"\n"; } // This code is contributed by shivanisinghss2110
C
// C program to demonstrate divisibility of Fibonacci // numbers. #include<stdio.h> #define MAX 90 int main() { // indexes variable stores index of number that // is divisible by 2, 3, 5 and 8 long long int arr[MAX], index1[MAX], index2[MAX]; long long int index3[MAX], index4[MAX]; // storing fibonacci numbers arr[0] = 0; arr[1] = 1; for (int i = 2; i < MAX; i++) arr[i] = arr[i-1] + arr[i-2]; // c1 keeps track of number of index of number // divisible by 2 and others c2, c3 and c4 for // 3, 5 and 8 int c1 = 0, c2 = 0, c3 = 0, c4 = 0; // separating fibonacci number into their // respective array for (int i = 0; i < MAX; i++) { if (arr[i] % 2 == 0) index1[c1++] = i; if (arr[i] % 3 == 0) index2[c2++] = i; if (arr[i] % 5 == 0) index3[c3++] = i; if (arr[i] % 8 == 0) index4[c4++] = i; } // printing index arrays printf("Index of Fibonacci numbers divisible by" " 2 are :\n"); for (int i = 0; i < c1; i++) printf("%d ", index1[i]); printf("\n"); printf("Index of Fibonacci number divisible by" " 3 are :\n"); for (int i = 0; i < c2; i++) printf("%d ", index2[i]); printf("\n"); printf("Index of Fibonacci number divisible by" " 5 are :\n"); for (int i = 0; i < c3; i++) printf("%d ", index3[i]); printf("\n"); printf("Index of Fibonacci number divisible by" " 8 are :\n"); for (int i = 0; i < c4; i++) printf("%d ", index4[i]); printf("\n"); }
Java
// Java program to demonstrate divisibility of Fibonacci // numbers. class GFG { static int MAX=90; // Driver code public static void main(String[] args) { // indexes variable stores index of number that // is divisible by 2, 3, 5 and 8 long[] arr=new long[MAX]; long[] index1=new long[MAX]; long[] index2=new long[MAX]; long[] index3=new long[MAX]; long[] index4=new long[MAX]; // storing fibonacci numbers arr[0] = 0; arr[1] = 1; for (int i = 2; i < MAX; i++) arr[i] = arr[i - 1] + arr[i - 2]; // c1 keeps track of number of index of number // divisible by 2 and others c2, c3 and c4 for // 3, 5 and 8 int c1 = 0, c2 = 0, c3 = 0, c4 = 0; // separating fibonacci number into their // respective array for (int i = 0; i < MAX; i++) { if (arr[i] % 2 == 0) index1[c1++] = i; if (arr[i] % 3 == 0) index2[c2++] = i; if (arr[i] % 5 == 0) index3[c3++] = i; if (arr[i] % 8 == 0) index4[c4++] = i; } // printing index arrays System.out.print("Index of Fibonacci numbers divisible by" + " 2 are :\n"); for (int i = 0; i < c1; i++) System.out.print(index1[i] + " "); System.out.print("\n"); System.out.print("Index of Fibonacci number divisible by" + " 3 are :\n"); for (int i = 0; i < c2; i++) System.out.print(index2[i] + " "); System.out.print("\n"); System.out.print("Index of Fibonacci number divisible by" + " 5 are :\n"); for (int i = 0; i < c3; i++) System.out.print(index3[i] + " "); System.out.print("\n"); System.out.print("Index of Fibonacci number divisible by" + " 8 are :\n"); for (int i = 0; i < c4; i++) System.out.print(index4[i] + " "); System.out.print("\n"); } } // This code is contributed by mits
Python3
# Python3 program to demonstrate divisibility # of Fibonacci numbers. MAX = 90; # indexes variable stores index of number # that is divisible by 2, 3, 5 and 8 arr = [0] * (MAX); index1 = [0] * (MAX); index2 = [0] * (MAX); index3 = [0] * (MAX); index4 = [0] * (MAX); # storing fibonacci numbers arr[0] = 0; arr[1] = 1; for i in range(2, MAX): arr[i] = arr[i - 1] + arr[i - 2]; # c1 keeps track of number of index # of number divisible by 2 and others # c2, c3 and c4 for 3, 5 and 8 c1, c2, c3, c4 = 0, 0, 0, 0; # separating fibonacci number into # their respective array for i in range(MAX): if (arr[i] % 2 == 0): index1[c1] = i; c1 += 1; if (arr[i] % 3 == 0): index2[c2] = i; c2 += 1; if (arr[i] % 5 == 0): index3[c3] = i; c3 += 1; if (arr[i] % 8 == 0): index4[c4] = i; c4 += 1; # printing index arrays print("Index of Fibonacci numbers", "divisible by 2 are :"); for i in range(c1): print(index1[i], end = " "); print(""); print("Index of Fibonacci number", "divisible by 3 are :"); for i in range(c2): print(index2[i], end = " "); print(""); print("Index of Fibonacci number", "divisible by 5 are :"); for i in range(c3): print(index3[i], end = " "); print(""); print("Index of Fibonacci number", "divisible by 8 are :"); for i in range(c4): print(index4[i], end = " "); print(""); # This code is contributed by mits
C#
// C# program to demonstrate divisibility // of Fibonacci numbers. class GFG{ static int MAX = 90; static void Main() { // indexes variable stores index of number that // is divisible by 2, 3, 5 and 8 long[] arr = new long[MAX]; long[] index1 = new long[MAX]; long[] index2 = new long[MAX]; long[] index3 = new long[MAX]; long[] index4 = new long[MAX]; // storing fibonacci numbers arr[0] = 0; arr[1] = 1; for (int i = 2; i < MAX; i++) arr[i] = arr[i-1] + arr[i-2]; // c1 keeps track of number of index of number // divisible by 2 and others c2, c3 and c4 for // 3, 5 and 8 int c1 = 0, c2 = 0, c3 = 0, c4 = 0; // separating fibonacci number into their // respective array for (int i = 0; i < MAX; i++) { if (arr[i] % 2 == 0) index1[c1++] = i; if (arr[i] % 3 == 0) index2[c2++] = i; if (arr[i] % 5 == 0) index3[c3++] = i; if (arr[i] % 8 == 0) index4[c4++] = i; } // printing index arrays System.Console.Write("Index of Fibonacci numbers" + "divisible by 2 are :\n"); for (int i = 0; i < c1; i++) System.Console.Write(index1[i]+" "); System.Console.Write("\n"); System.Console.Write("Index of Fibonacci number "+ " divisible by 3 are :\n"); for (int i = 0; i < c2; i++) System.Console.Write(index2[i]+" "); System.Console.Write("\n"); System.Console.Write("Index of Fibonacci number "+ "divisible by 5 are :\n"); for (int i = 0; i < c3; i++) System.Console.Write(index3[i]+" "); System.Console.Write("\n"); System.Console.Write("Index of Fibonacci number "+ "divisible by 8 are :\n"); for (int i = 0; i < c4; i++) System.Console.Write(index4[i]+" "); System.Console.Write("\n"); } } // This code is contributed by mits
PHP
<?php // PHP program to demonstrate divisibility // of Fibonacci numbers. $MAX = 90; // indexes variable stores index of number // that is divisible by 2, 3, 5 and 8 $arr = array($MAX); $index1 = array($MAX); $index2 = array($MAX); $index3 = array($MAX); $index4 = array($MAX); // storing fibonacci numbers $arr[0] = 0; $arr[1] = 1; for ($i = 2; $i < $MAX; $i++) { $arr[$i] = $arr[$i - 1] + $arr[$i - 2]; } // c1 keeps track of number of index of // number divisible by 2 and others // c2, c3 and c4 for 3, 5 and 8 $c1 = 0; $c2 = 0; $c3 = 0; $c4 = 0; // separating fibonacci number into // their respective array for ($i = 0; $i < $MAX; $i++) { if ($arr[$i] % 2 == 0) $index1[$c1++] = $i; if ($arr[$i] % 3 == 0) $index2[$c2++] = $i; if ($arr[$i] % 5 == 0) $index3[$c3++] = $i; if ($arr[$i] % 8 == 0) $index4[$c4++] = $i; } // printing index arrays echo "Index of Fibonacci numbers divisible by" . " 2 are :\n"; for ($i = 0; $i < $c1; $i++) echo $index1[$i] . " "; echo "\n"; echo "Index of Fibonacci number divisible by" . " 3 are :\n"; for ($i = 0; $i < $c2; $i++) echo $index2[$i] . " "; echo "\n"; echo "Index of Fibonacci number divisible by" . " 5 are :\n"; for ($i = 0; $i < $c3; $i++) echo $index3[$i] . " "; echo "\n"; echo "Index of Fibonacci number divisible by" . " 8 are :\n"; for ($i = 0; $i < $c4; $i++) echo $index4[$i] . " "; echo "\n"; // This code is contributed by mits ?>
Javascript
// JavaScript program to demonstrate divisibility of Fibonacci // numbers. var MAX=90; // Driver code // indexes variable stores index of number that // is divisible by 2, 3, 5 and 8 var arr=new Array(MAX); var index1= new Array(MAX); var index2= new Array(MAX); var index3= new Array(MAX); var index4= new Array(MAX); // storing fibonacci numbers arr[0] = 0; arr[1] = 1; for (var i = 2; i < MAX; i++) arr[i] = arr[i - 1] + arr[i - 2]; // c1 keeps track of number of index of number // divisible by 2 and others c2, c3 and c4 for // 3, 5 and 8 var c1 = 0, c2 = 0, c3 = 0, c4 = 0; // separating fibonacci number into their // respective array for (var i = 0; i < MAX; i++) { if (arr[i] % 2 == 0) index1[c1++] = i; if (arr[i] % 3 == 0) index2[c2++] = i; if (arr[i] % 5 == 0) index3[c3++] = i; if (arr[i] % 8 == 0) index4[c4++] = i; } // printing index arrays document.write("Index of Fibonacci numbers divisible by" + " 2 are :\n"); for (var i = 0; i < c1; i++) document.write(index1[i] + " "); document.write("\n"); document.write("Index of Fibonacci number divisible by" + " 3 are :\n"); for (var i = 0; i < c2; i++) document.write(index2[i] + " "); document.write("\n"); document.write("Index of Fibonacci number divisible by" + " 5 are :\n"); for (var i = 0; i < c3; i++) document.write(index3[i] + " "); document.write("\n"); document.write("Index of Fibonacci number divisible by" + " 8 are :\n"); for (var i = 0; i < c4; i++) document.write(index4[i] + " "); document.write("\n"); // This code is contributed by shivanisinghss2110
Producción:
Index of Fibonacci numbers divisible by 2 are : 0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 Index of Fibonacci number divisible by 3 are : 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 Index of Fibonacci number divisible by 5 are : 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 Index of Fibonacci number divisible by 8 are : 0 6 12 18 24 30 36 42 48 54 60 66 72 78 84
3. Número de Fibonacci con factor de número índice: Tenemos un número de Fibonacci como F(1) = 1 que es divisible por 1, F(5) = 5 que es divisible por 5, F(12) = 144 que es divisible por 12 , F(24) = 46368 que es divisible por 24, F(25) = 75025 que es divisible por 25. Este tipo de número índice sigue un cierto patrón. Primero, echemos un vistazo a esos números de índice:
1, 5, 12, 24, 25, 36, 48, 60, 72, 84, 96, 108, 120, 125, 132, …..
Al observarla, esta serie está formada por todo número que sea múltiplo de 12 así como por todo número que cumpla la condición de pow(5, k), donde k = 0, 1, 2, 3, 4, 5, 6, 7, …….
C++
// C++ program to demonstrate that Fibonacci numbers // that are divisible by their indexes have indexes // as either power of 5 or multiple of 12. #include<iostream> using namespace std; #define MAX 100 int main() { // storing Fibonacci numbers long long int arr[MAX]; arr[0] = 0; arr[1] = 1; for (int i = 2; i < MAX; i++) arr[i] = arr[i-1] + arr[i-2]; cout<<"Fibonacci numbers divisible by " "their indexes are :\n"; for (int i = 1; i < MAX; i++) if (arr[i] % i == 0) cout<<" "<< i; } // This code is contributed by shivanisinghss2110
C
// C program to demonstrate that Fibonacci numbers // that are divisible by their indexes have indexes // as either power of 5 or multiple of 12. #include<stdio.h> #define MAX 100 int main() { // storing Fibonacci numbers long long int arr[MAX]; arr[0] = 0; arr[1] = 1; for (int i = 2; i < MAX; i++) arr[i] = arr[i-1] + arr[i-2]; printf("Fibonacci numbers divisible by " "their indexes are :\n"); for (int i = 1; i < MAX; i++) if (arr[i] % i == 0) printf("%d ", i); }
Java
// Java program to demonstrate that Fibonacci numbers // that are divisible by their indexes have indexes // as either power of 5 or multiple of 12. class GFG { static int MAX = 100; public static void main(String[] args) { // storing Fibonacci numbers long[] arr = new long[MAX]; arr[0] = 0; arr[1] = 1; for (int i = 2; i < MAX; i++) arr[i] = arr[i - 1] + arr[i - 2]; System.out.print("Fibonacci numbers divisible by "+ "their indexes are :\n"); for (int i = 1; i < MAX; i++) if (arr[i] % i == 0) System.out.print(i + " "); } } // This code is contributed by mits
Python3
# Python3 program to demonstrate that Fibonacci numbers # that are divisible by their indexes have indexes # as either power of 5 or multiple of 12. if __name__=='__main__': MAX = 100 # storing Fibonacci numbers arr = [0 for i in range(MAX)] arr[0] = 0 arr[1] = 1 for i in range(2, MAX): arr[i] = arr[i - 1] + arr[i - 2] print("Fibonacci numbers divisible by their indexes are :") for i in range(1, MAX): if(arr[i] % i == 0): print(i,end=" ") # This code is contributed by # Sanjit_Prasad
C#
// C# program to demonstrate that Fibonacci // numbers that are divisible by their // indexes have indexes as either power of 5 // or multiple of 12. using System; class GFG { static int MAX = 100; static void Main() { // storing Fibonacci numbers long[] arr = new long[MAX]; arr[0] = 0; arr[1] = 1; for (int i = 2; i < MAX; i++) arr[i] = arr[i - 1] + arr[i - 2]; Console.Write("Fibonacci numbers divisible by " + "their indexes are :\n"); for (int i = 1; i < MAX; i++) if (arr[i] % i == 0) System.Console.Write(i+" "); } } // This code is contributed by mits
Javascript
// JavaScript program to demonstrate that Fibonacci numbers // that are divisible by their indexes have indexes // as either power of 5 or multiple of 12. var MAX = 100; // storing Fibonacci numbers var arr = new Array(MAX); arr[0] = 0; arr[1] = 1; for (var i = 2; i < MAX; i++) arr[i] = arr[i - 1] + arr[i - 2]; document.write("Fibonacci numbers divisible by their indexes are :"); for (var i = 1; i < MAX; i++) if (arr[i] % i == 0) document.write(i + " "); // This code is contributed by shivanisinghss2110
Producción:
Fibonacci numbers divisible by their indexes are : 1 5 12 24 25 36 48 60 72 96
4. El valor de f(n-1)*f(n+1) – f(n)*f(n) es (-1) n . Consulte la Identidad de Cassini para obtener más detalles.
Referencia:
http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/fibmaths.html
Este artículo es una contribución de Aditya Kumar . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA