Help with my fibonacci sequence code

조회 수: 19 (최근 30일)
Paul Alequin
Paul Alequin 2018년 9월 12일
댓글: John D'Errico 2023년 1월 26일
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
Abhishek
Abhishek 2023년 1월 26일
it is correct
John D'Errico
John D'Errico 2023년 1월 26일
@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.

댓글을 달려면 로그인하십시오.

채택된 답변

Jim Riggs
Jim Riggs 2018년 9월 12일
편집: Jim Riggs 2018년 9월 12일
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개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by