
Удалить из списка все узлы, до и после которых находятся узлы с информационными составляющими,
являющимися числами Фибоначчи. Двунаправленный список.

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

1. Короткое решение, оставляющее в недоумении: а для чего тут было использовать двусвязный список? ответ: потому что таково задание!
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!
function IsFib(n:integer):boolean;
begin
if (n=1) or (n=2) then Result:=true
else begin
Result:=false;
(var n1, var n2):=(1,2);
var Fib:integer;
repeat
Fib:=n1+n2;
if Fib=n then begin Result:=true; break end;
(n2,n1):=(Fib,n2)
until Fib>n
end;
end;
begin
var L:=ReadSeqInteger('->',ReadInteger('n=')).ToLinkedList;
L:=L.Where(x->not IsFib(x)).ToLinkedList;
L.Println
end.
Пример
n= 9
-> 3 17 13 10 12 4 11 0 5
17 10 12 4 11 0
2. Несколько более длинное решение для желающих немного порулить удалением узлов.
Функция остается той же, а изменения делаются в главной программе.
begin
var L:=ReadSeqInteger('->',ReadInteger('n=')).ToLinkedList;
var a:=L.Where(x->IsFib(x)).ToArray; // список значений для удаления
foreach var t in a do L.Remove(t); // собственно удаление узлов
L.Println
end.
3. Бонус. Как это сделать без двусвязного списка (опять же, основная программа).
begin
var a:=ReadSeqInteger('->',ReadInteger('n='))
.Where(x->not IsFib(x)).ToArray;
a.Println
end.



Удаление узлов с информационными составляющими, являющимися числами Фибоначчи из двунаправленного списка
Для удаления узлов с информационными составляющими, являющимися числами Фибоначчи, из двунаправленного списка, нужно выполнить следующие шаги:
1. Проход по списку: Начните с первого узла списка и последовательно переходите к следующему узлу, пока не достигнете конца списка. 2. Проверка информационной составляющей: Для каждого узла, проверьте, является ли его информационная составляющая числом Фибоначчи. - Числа Фибоначчи определяются как последовательность чисел, где каждое число равно сумме двух предыдущих чисел. Начальные числа в последовательности обычно считаются равными 0 и 1. - Например, последовательность чисел Фибоначчи может выглядеть так: 0, 1, 1, 2, 3, 5, 8, 13, 21, и так далее. 3. Удаление узлов: Если информационная составляющая узла является числом Фибоначчи, удалите этот узел из списка. 4. Обновление ссылок: При удалении узла, обновите ссылки на предыдущий и следующий узлы, чтобы они указывали друг на друга, обходя удаленный узел.
Примерный псевдокод для удаления узлов с информационными составляющими, являющимися числами Фибоначчи, из двунаправленного списка:
``` current_node = head
while current_node is not None: next_node = current


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili