Найти Произведение Чисел Фибоначчи

Тема в разделе "C/C++/C#", создана пользователем trepven, 21 дек 2012.

  1. trepven

    trepven Гость

    Вводится размер массива, состоящего из целых чисел, и его элементы. Найти прозведение элементов, стоящих на нечётных местах и при этом являющихся числами Фибоначчи.

    Ребят, вторую неделю ломаю голову. Никак не пойму что и в какой последовательности. Помогите пожалуйста. И еще - первый курс, так что можно как нибудь попроще, если возможно? Я код пойму, мне разжовывать ничего не надо, просто прошел еще не море всего. Язык C
    Вот то что я сделал:

    #include <stdio.h>
    int main (void)
    {int i,n,p;
    int m[100];
    p=1;
    printf ("Enter the size\n");
    scanf ("%d", &n);
    while (n<0 || n>100)
    {printf ("Enter the size again\n");
    scanf ("%d", &n);}
    printf ("Enter the elements\n");
    for (i=1;i<=n;i++)
    scanf ("%d", &m);
    for (i=1;i<=n;i++)
    if (i%2 == 0 && m == m[i -1] + m[i -2])
    {p=p*m;}
    printf ("Product is %d\nGood Luck!\n", p);
    return 0;}

    Но получается, что программа считает числа фибоначчи в самом массиве (складывает прошлые два элемента массива, а не числа фибоначчи вообще)
     
  2. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    чтобы не было таких затруднений
    напиши функцию проверяющую является ли число-числом Фибоначчи
    и передавай в неё элементы на нечётных местах
     
  3. trepven

    trepven Гость

    Что-то для меня это звучит как китайская грамота( Тут вообще нужно без функций, потому что есть еще другое здание - переделать эту задачу чтобы была с функцией. Но мне пока главное сообразить как сделать это дело вот примерно такими методами как я написал
     
  4. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    Код (C++):
    //
    double P=1;
    for(int i=0;i<N;i+=2)
    {
    //проверка является ли A[i] числом Фиббоначи
    //если является
    P*=A[i];
    }
    //
     
Загрузка...

Поделиться этой страницей