Подсчет количества чисел Фибоначчи в заданной числовой последовательности. - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дано 100 чисел от 1 до 50. Определить, сколько среди них чисел Фибоначчи и сколько чисел, первая значашая цифра в десятиричной записи которых 1 или 2.

Решение задачи: «Подсчет количества чисел Фибоначчи в заданной числовой последовательности.»

textual
Листинг программы
#include <stdio.h>
 
int ChkFib(int *A,int n)
{
    int max,i,curr,prev,c;
    max=A[0];
    for(i=1;i<n;i++) if (A[i] > max) max=A[i];
    curr=1;
    prev=1;
    c=0;
    while (1)
    {
        if (curr > max) break;
        for (i=0; i<n; i++) 
            if (A[i]==curr)
            {
                c++;
                printf("%d ",curr);
                break;
            }
        i=curr+prev;
        prev=curr;
        curr=i;
    }
    return c;
}
int main(int argc, char* argv[])
{
    int Arr[8]={1,2,9,23,13,8,51,120};
    printf("\n %d \n",ChkFib(Arr,8));
    return 0;
}

Объяснение кода листинга программы

  1. Включаем стандартную библиотеку ввода-вывода
  2. Объявляем функцию ChkFib, которая принимает на вход массив A и его размер n
  3. Инициализируем переменные: max — для хранения максимального числа в массиве A i — счётчик для цикла по массиву A curr — текущее число в цикле prev — предыдущее число в цикле c — счётчик для подсчёта чисел Фибоначчи
  4. Находим максимальное число в массиве A с помощью цикла for
  5. Инициализируем значения переменных curr, prev, c, а также устанавливаем флаг для выхода из цикла while
  6. Запускаем цикл while, который будет выполняться до тех пор, пока текущее число curr меньше или равно максимальному числу в массиве A
  7. Внутри цикла while проверяем каждый элемент массива A на равенство текущему числу curr
  8. Если число найдено, увеличиваем счётчик c и выводим текущее число и его индекс в формате curr %d
  9. Обновляем значения переменных curr, prev, c и i
  10. В конце функции возвращаем значение счётчика c
  11. В функции main создаём массив Arr и инициализируем его значениями
  12. Вызываем функцию ChkFib, передавая в неё массив Arr и его размер
  13. Выводим результат работы функции ChkFib на экран
  14. Завершаем программу

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.727 из 5
Похожие ответы