РЕШИТЬ НА ПИТОН
Заполнить массив случайными числами и отобрать в
другой массив все числа Фибоначчи. Используйте
логическую функцию, которая определяет, является ли
переданное ей число числом Фибоначчи.

Пример:
Массив А:
12 13 85 34 47
Массив B:
13 34

Metyakarimi Metyakarimi    3   07.05.2020 15:45    263

Ответы
vlada23912 vlada23912  22.12.2023 10:14
Хорошо, давайте решим эту задачу шаг за шагом.

Шаг 1: Создание массива случайных чисел
Мы можем использовать функцию `random.randint(a, b)` из модуля `random`, чтобы сгенерировать случайное число от `a` до `b`. Создадим массив `A` и заполним его случайными числами.

```python
import random

A = []
for i in range(10):
A.append(random.randint(1, 100))
print("Массив A:", A)
```

Шаг 2: Определение функции для проверки числа Фибоначчи
Чтобы определить, является ли число Фибоначчи, можно воспользоваться формулой Бине:

```python
import math

def is_fibonacci(n):
return (math.sqrt(5 * n * n + 4) % 1 == 0) or (math.sqrt(5 * n * n - 4) % 1 == 0)
```

Эта функция проверит, является ли `n` числом Фибоначчи, возвращая `True` или `False`.

Шаг 3: Отбор чисел Фибоначчи в другой массив
Теперь мы можем пройти по каждому числу в массиве `A` и проверить, является ли оно числом Фибоначчи. Если это так, добавим его в массив `B`.

```python
B = []
for num in A:
if is_fibonacci(num):
B.append(num)
print("Массив B:", B)
```

Шаг 4: Вывод результата
Выведем исходный массив `A` и отобранный массив `B`, чтобы убедиться в правильности решения.

```python
print("Массив A:", A)
print("Массив B:", B)
```

Вот полный код:

```python
import random
import math

A = []
for i in range(10):
A.append(random.randint(1, 100))
print("Массив A:", A)

def is_fibonacci(n):
return (math.sqrt(5 * n * n + 4) % 1 == 0) or (math.sqrt(5 * n * n - 4) % 1 == 0)

B = []
for num in A:
if is_fibonacci(num):
B.append(num)
print("Массив B:", B)
```

Надеюсь, этот ответ будет понятен школьнику и поможет ему решить задачу!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика