Получить список в котором удалена вторая треть - Erlang

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

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

Помогите решить задачу на языке Erlang.

Задан список длина которого кратная трем. Получить список в котором удалена вторая треть.

Листинг программы
  1. -module(lists).
  2. -export([main/2, part1/5, part3/5]).
  3. % +List, -NewList
  4. main(L,L1)->
  5. K2 = length(L) div 3+1,
  6. K3 = length(L) div 3*2+1,
  7. P11 = part1(L,1,K2,K3,L1),
  8. P13 = part3(L,K2,K2,K3,L1),
  9. lists:append(P11,P13).
  10. % +List, +Counter, +K2, +K3, +Acc, -Part1, -Part3
  11. part1([X|Xs],I,K2,K3,[X|P1]) when I < K2 ->
  12. I1 = I+1,
  13. part1(Xs,I1,K2,K3,P1).
  14. part3([_|Xs],I,K2,K3,P3) when I >= K2, I < K3->
  15. I1 = I+1,
  16. part3(Xs,I1,K2,K3,P3);
  17. part3(P3,K3,_,K3,P3)->
  18. P3.

Решение задачи: «Получить список в котором удалена вторая треть»

textual
Листинг программы
  1.  Y=[1,2,3,4,5,6,7,8,9].
  2. NewFunc = fun(L)-> fun Func([], _, _)-> [];
  3. Func([H|T], Len, N) when N < Len;N >= 2 * Len-> [H|Func(T, Len, N + 1)];
  4. Func([_|T], Len, N)-> Func(T, Len, N + 1)end(L, length(L) div 3, 0) end .
  5. NewFunc(Y).

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


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

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

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы