defmodule LinearSearch do
def search(list, target) do
search_with_index(list, target, 0)
end
defp search_with_index([], _target, _index), do: nil
defp search_with_index([head | tail], target, index) do
if head == target do
index
else
search_with_index(tail, target, index + 1)
end
end
end
# Пример использования
arr = [12, 1456, 53, 12451, 992, 81, 666]
target = 992
case LinearSearch.search(arr, target) do
nil ->
IO.
puts("The #{target} element was not found")
index ->
IO.
puts("The #{target} element was found at position #{index}")end
ZGVmbW9kdWxlIExpbmVhclNlYXJjaCBkbwoKICBkZWYgc2VhcmNoKGxpc3QsIHRhcmdldCkgZG8KICAgIHNlYXJjaF93aXRoX2luZGV4KGxpc3QsIHRhcmdldCwgMCkKICBlbmQKCiAgZGVmcCBzZWFyY2hfd2l0aF9pbmRleChbXSwgX3RhcmdldCwgX2luZGV4KSwgZG86IG5pbAoKICBkZWZwIHNlYXJjaF93aXRoX2luZGV4KFtoZWFkIHwgdGFpbF0sIHRhcmdldCwgaW5kZXgpIGRvCiAgICBpZiBoZWFkID09IHRhcmdldCBkbwogICAgICBpbmRleAogICAgZWxzZQogICAgICBzZWFyY2hfd2l0aF9pbmRleCh0YWlsLCB0YXJnZXQsIGluZGV4ICsgMSkKICAgIGVuZAogIGVuZAplbmQKCiMg0J/RgNC40LzQtdGAINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPCmFyciA9IFsxMiwgMTQ1NiwgNTMsIDEyNDUxLCA5OTIsIDgxLCA2NjZdCnRhcmdldCA9IDk5MgoKY2FzZSBMaW5lYXJTZWFyY2guc2VhcmNoKGFyciwgdGFyZ2V0KSBkbwogIG5pbCAtPgogICAgSU8ucHV0cygiVGhlICN7dGFyZ2V0fSBlbGVtZW50IHdhcyBub3QgZm91bmQiKQoKICBpbmRleCAtPgogICAgSU8ucHV0cygiVGhlICN7dGFyZ2V0fSBlbGVtZW50IHdhcyBmb3VuZCBhdCBwb3NpdGlvbiAje2luZGV4fSIpCmVuZA==