USE RUBY PROGRAMMING LANGUAGE FOR THE SOLUTION
Problem 1
Where a is an array, a.delete(obj) deletes every item from a that is equal to obj:
>> a
=> [1, 2, 1, 3, 1, 4, 2, 5]
>> a.delete(1)
=> 1
>> a
=> [2, 3, 4, 2, 5]
Write the function delete_first(a, obj) that deletes from a only its first item that is equal to obj, if any. The function returns the modified array.
>> a
=> [1, 2, 1, 3, 1, 4, 2, 5]
>> delete_first(a, 1)
=> [2, 1, 3, 1, 4, 2, 5]
>> a
=> [2, 1, 3, 1, 4, 2, 5]
>> delete_first(a, 1)
=> [2, 3, 1, 4, 2, 5]
>> a
=> [2, 3, 1, 4, 2, 5]
>> delete_first(a, 18)
=> [2, 3, 1, 4, 2, 5]
>> a
=> [2, 3, 1, 4, 2, 5]
Problem 2
The Fibonacci sequence fib is defined thus: fib(1) = fib(2) = 1, and fib(n) = fib(n-1)+fib(n-2) for n>2. Write a functionfib_array(n) that returns an array containing the first n values of the Fibonacci sequence. For example:
print fib_array(1)
|
# [1]
|
print fib_array(2)
|
# [1, 1]
|
print fib_array(10)
|
# [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
|
Problem 3
Write a function fib(n) that returns the n'th Fibonacci value:
print fib(10)
|
# 55
|
print fib(100)
|
# 354224848179261915075
|