Вопрос задан 26.09.2023 в 16:55. Предмет Информатика. Спрашивает Фомичев Дмитрий.

Помогите сделать пожалуйста! Задан массив, заполненный последовательностью из N вещественных

чисел. Вычислить сумму чисел, порядковые номера которых являются числами Фибоначчи.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Лотарёв Кирилл.

Відповідь:

Указывайте Язык программирования

С++ code:

#include <iostream>

#include <cstdlib>

#include <time.h>

#include <math.h>

void randarr(float *arr,const int size){

for(int i = 0; i < size; i++){

 arr[i] = float (rand())/RAND_MAX*100;  

}

}

void printarr(float *arr,const int size){

for(int i = 0; i < size; i++){

 std::cout << arr[i] << " ";

}

}

void sumfib(float *arr,const int size){

float sum = 0;

for(int i = 0; i < size; i++){

 if (sqrt(5*(i+1)*(i+1)-4) - int(sqrt(5*(i+1)*(i+1)-4)) == 0 || sqrt(5*(i+1)*(i+1)+4) - int(sqrt(5*(i+1)*(i+1)+4)) == 0){

           std::cout<<"+"<<"\t";

           sum += arr[i];

       }

       else{

 std::cout<<"\t";

 }

 std::cout << i + 1 << "\t" << arr[i] << std::endl;

}

std::cout << "Cумма чисел, порядковые номера которых являются числами Фибоначчи: " << sum << std::endl;

}

int main(){

srand(time(NULL));

setlocale(LC_ALL , "Rus");

int size;

std::cout << "Введите колво чисел в последовательности: ";

std::cin >> size;

float *arr = new float[size];

std::cout << "Последовательность: ";

randarr(arr,size);

printarr(arr,size);

std::cout << "Результат: " << std::endl;

sumfib(arr,size);

delete[] arr;

   

   return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи вам нужно выполнить следующие шаги:

  1. Определите числа Фибоначчи, которые меньше или равны N (длине вашего массива).

  2. Создайте цикл, который перебирает элементы массива и проверяет, является ли порядковый номер текущего элемента числом Фибоначчи.

  3. Если порядковый номер числа в массиве соответствует числу Фибоначчи, добавьте его значение к общей сумме.

Вот пример кода на Python, который решает эту задачу:

python
def is_fibonacci(n): # Функция для проверки, является ли число n числом Фибоначчи if n <= 1: return True a, b = 1, 1 while b < n: a, b = b, a + b return b == n def sum_fibonacci_numbers(arr): # Функция для вычисления суммы чисел с порядковыми номерами, являющимися числами Фибоначчи total = 0 for i, num in enumerate(arr): if is_fibonacci(i + 1): total += num return total # Пример использования функции N = int(input("Введите длину массива: ")) arr = [] for _ in range(N): num = float(input("Введите число: ")) arr.append(num) result = sum_fibonacci_numbers(arr) print("Сумма чисел с порядковыми номерами, являющимися числами Фибоначчи:", result)

Этот код сначала определяет, является ли число Фибоначчи, затем перебирает элементы массива и складывает значения элементов, чей порядковый номер является числом Фибоначчи.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос