Напишите программу, которая заполняет массив случайными числами и создает новый массив, содержащий все числа Фибоначчи

  • 55
Напишите программу, которая заполняет массив случайными числами и создает новый массив, содержащий все числа Фибоначчи. Воспользуйтесь функцией-предикатом, которая определяет, является ли переданное число числом Фибоначчи. Пример: массив A: 12 13 85 34 47 массив B
Дельфин
13
B: 0 1 1 2 3 5 8 13 21 34

Чтобы решить эту задачу, вам понадобится написать программу на языке программирования, который вы используете. Я приведу пример решения на Python.

python
import random

def is_fibonacci(number):
"""Предикат, проверяющий, является ли число числом Фибоначчи"""
a, b = 0, 1
while a < number:
a, b = b, a + b
return a == number

def fill_array(size):
"""Заполнение массива случайными числами"""
array = []
for _ in range(size):
array.append(random.randint(0, 100)) # Диапазон случайных чисел можно изменить по своему усмотрению
return array

def fibonacci_numbers(array):
"""Создание массива чисел Фибоначчи"""
fibonacci_array = []
for number in array:
if is_fibonacci(number):
fibonacci_array.append(number)
return fibonacci_array

# Начальный массив
array_A = fill_array(10)
print("Массив A:", array_A)

# Массив чисел Фибоначчи
array_B = fibonacci_numbers(array_A)
print("Массив B:", array_B)


Давайте разберем, как работает эта программа пошагово:

1. `is_fibonacci(number)` - это функция-предикат, которая проверяет, является ли переданное число `number` числом Фибоначчи. Внутри функции мы используем цикл while, чтобы генерировать числа Фибоначчи до тех пор, пока они не превысят `number`. Если полученное число равно `number`, то функция возвращает True, иначе - False.

2. `fill_array(size)` - эта функция заполняет массив случайными числами. Мы задаем размер массива `size` и генерируем случайные числа в диапазоне от 0 до 100. Вы можете изменить этот диапазон по вашему усмотрению.

3. `fibonacci_numbers(array)` - это функция, которая создает новый массив `fibonacci_array`, содержащий все числа Фибоначчи из исходного массива `array`. Мы проходимся по каждому числу в `array` и используем функцию-предикат `is_fibonacci`, чтобы проверить, является ли оно числом Фибоначчи. Если это так, то мы добавляем его в `fibonacci_array`.

4. В основной части программы мы сначала создаем и выводим на экран исходный массив `array_A`, заполнив его случайными числами. Затем мы вызываем функцию `fibonacci_numbers` с `array_A` и выводим на экран полученный массив чисел Фибоначчи `array_B`.

Надеюсь, это понятно!