Язык программирования Haskell
по всем вопросам - @haarrp
https://t.me/+GLeZfukB0IwxM2Ji - ссылка на канал для друга
Post #25
1.48K

Они "одинаковые"? кто решит тот лучший 💪
Для двух массивов
Examples:
Допустимые массивы
Некорректные массивы
Если, например, мы изменим первое число на что-то другое,
Примечания
#6kyu
🔗 Перейти к задаче
@haskell_tg
Для двух массивов
a и b напишите функцию comp(a, b) (или compSame(a, b)), которая проверяет, есть ли в этих массивах "одинаковые" элементы с одинаковой кратностью (кратность члена - это количество раз, которое он встречается). В данном случае "одинаковые" означает, что элементы в b - это элементы в квадрате a, независимо от порядка.Examples:
Допустимые массивы
a = [121, 144, 19, 161, 19, 144, 19, 11] b = [121, 14641, 20736, 361, 25921, 361, 20736, 361]
comp(a, b) возвращает true, потому что в b 121 - квадрат 11, 14641 - квадрат 121, 20736 - квадрат 144, 361 - квадрат 19, 25921 - квадрат 161, и так далее. Это становится очевидным, если записать элементы b в терминах квадратов:
a = [121, 144, 19, 161, 19, 144, 19, 11]
b = [11*11, 121*121, 144*144, 19*19, 161*161, 19*19, 144*144, 19*19]
Некорректные массивы
Если, например, мы изменим первое число на что-то другое,
comp больше не будет возвращать true:
a = [121, 144, 19, 161, 19, 144, 19, 11]
b = [132, 14641, 20736, 361, 25921, 361, 20736, 361]
comp(a,b) возвращает false, потому что в b 132 не является квадратом какого-либо числа из a.
a = [121, 144, 19, 161, 19, 144, 19, 11]
b = [121, 14641, 20736, 36100, 25921, 361, 20736, 361]
comp(a,b) возвращает false, потому что в b 36100 не является квадратом какого-либо числа из a.Примечания
🟡a или b могут быть [] или {} (все языки, кроме R, Shell).
🟡a или b могут быть nil или null или None или nothing (кроме C++, COBOL, Crystal, D, Dart, Elixir, Fortran, F#, Haskell, Nim, OCaml, Pascal, Perl, PowerShell, Prolog, PureScript, R, Racket, Rust, Shell, Swift). 🟡Если a или b равны nil (или null, или None, в зависимости от языка), проблема не имеет смысла, поэтому возвращается false.#6kyu
🔗 Перейти к задаче
@haskell_tg
- 👍 5
- ❤ 3
- 🔥 2
- 👎 1

















