РЕШИТЬ НА ПИТОН
Заполнить массив случайными числами и отобрать в
другой массив все числа Фибоначчи. Используйте
логическую функцию, которая определяет, является ли
переданное ей число числом Фибоначчи.
Пример:
Массив А:
12 13 85 34 47
Массив B:
13 34
Шаг 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)
```
Надеюсь, этот ответ будет понятен школьнику и поможет ему решить задачу!