Can not use the Fibonacci built in function

2 次查看(过去 30 天)
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ... (add previous two numbers together for the next in the sequence)
1. Find the first 10 odd numbers.
2. The First 10 odd numbers are: <Provide all numbers here with a space between each>
  7 个评论
Hunter Steele
Hunter Steele 2019-9-24
n = input('Enter10:');
b(1) = 0;
b(2) = 1;
x = 3;
while x <= n
b(x)=(b(x-1)+b(x-2));
x = x+1;
end
disp('The first 10 values of the Fibonacci are:')
disp(b)
Hunter Steele
Hunter Steele 2019-9-24
That gives me the numers for the firdt 10 values. I need to know how to get the first 10 odd values.

请先登录,再进行评论。

回答(1 个)

James Tursa
James Tursa 2019-9-24
编辑:James Tursa 2019-9-24
For simplicity, let's assume you don't know how many iterations you need in advance. So start with your current code:
while x <= n
b(x)=(b(x-1)+b(x-2));
x = x+1;
end
and modify it to keep running until we get 10 odd numbers:
k = 1; % the number of odd numbers we have so far (starts at 1 because b(2) is an odd number)
while true
b(x)=(b(x-1)+b(x-2));
if( b(x) is an odd number ) % <-- you need to fill in the actual test for odd number here
k = k + 1; % increment the number of odd numbers we have so far
% do something here with the odd b(x)
if( k == n ) % if we have enough odd numbers, then break out of loop
break;
end
end
x = x+1;
end
So, try to fill in that test for the odd number. Then try to think of a way to either print the odd numbers as you go, or save the odd numbers for later printing.

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by