Help with my fibonacci sequence code
15 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Paul Alequin
le 12 Sep 2018
Commenté : John D'Errico
le 26 Jan 2023
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ... (add previous two numbers together for the next in the sequence)
1. Use a for-end statement to find the 100th number in the sequence.
2. Update this script using a while statement to find the first number in the sequence that has six digits.
============================================================
This is my code until now.
% fibonacci
a=0; b=1; n=input('Enter no, of terms: ');
for i=1:n fprintf('%d',a); fprintf('\t') c=a+b; a=b; b=c;
end
I'm not sure if is correct. But the assignment require to find the 100th number with a for-end and the other part is to find the sequence that has six digits.
2 commentaires
John D'Errico
le 26 Jan 2023
@Abhishek - actually, it is not correct. It does not solve the assignment. And while it does appear to compute Fibonacci numbers, the code does not do what was required.
Réponse acceptée
Jim Riggs
le 12 Sep 2018
Modifié(e) : Jim Riggs
le 12 Sep 2018
This is how I did it. This function will give the nth number in the Fibonacci sequence:
function f=fib(n)
s=[1, 1];
if n>2
for i=3:n
s(i) = s(i-1)+s(i-2)
end
end
f = s(n)
end
The number of digits in a number, n, is
floor(log10(n))+1
so you can write a loop:
n=1;
nd=1;
while nd < 6
n=n+1
fn = fib(n)
nd = floor(log10(fn))+1;
end
When this loop ends, fn is the first Fibonacci number with 6 digits, and it is the nth in the sequence.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!