profile
Размещено 5 лет назад по предмету Информатика от Wellcome

Последовательность чисел Фибоначчи образуется так: первый и второй члены последовательности равны единице, каждый следующий член равен сумме двух предыдущих. (1,1,2,3,5,13...).Дано натуральное число n. n>=3. а)Найти k-й член этой последовательности; б)Для заданного n определить верно ли, что сумма первых n-членов последовательности есть четное число. Помогите, нужно составить программу для решения данных задач!

  1. Ответ на вопрос
    Ответ на вопрос дан emblerik

    var

    k : byte;
    arr : array of int64;
    function Fn (c : byte) : int64;
    begin
    if arr[c - 1] <> 0 then
    begin
    Fn := arr[c - 1];
    exit;
    end;
    if c < 3 then Fn := 1
    else Fn := Fn (c - 1) + Fn (c - 2);
    arr[c - 1] := Result;
    end;

    begin
    read (k);
    setlength (arr, k);
    writeln (Fn (k));
    end.

    var
    n : byte;
    arr : array of int64;

    tmp : int64;
    function Fn (c : byte) : int64;
    begin
    if arr[c - 1] <> 0 then
    begin
    Fn := arr[c - 1];
    exit;
    end;
    if c < 3 then Fn := 1
    else Fn := Fn (c - 1) + Fn (c - 2);
    arr[c - 1] := Result;
    end;

    begin
    read (n);
    setlength (arr, n);
    tmp :=  (Fn (n));

    tmp := 0;

    for i := 1 to n do

      tmp := (tmp + arr[i]) mod 2;

    if tmp = 1 then writeln ('No') else writeln ('Yes');

    end.

     

    Это нисходящее динамическое программирование. В массиве Arr храняится сами числа. Рекурсивная функция Fn (n) возвращает N-ое число. В б) мы сначала просчитываем n чисел (то есть считаем число n, так как для него нужны все предыдущие), а потом ищем их сумму. Так как числа могут быть большими, то мы берем сразу их остаток от деления 2 во избежание преполнения.

     

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.