Telegram Group & Telegram Channel
Они "одинаковые"? кто решит тот лучший 💪

Для двух массивов 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
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/haskell_tg/25
Create:
Last Update:

Они "одинаковые"? кто решит тот лучший 💪

Для двух массивов 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

BY Haskell




Share with your friend now:
tg-me.com/haskell_tg/25

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

Mr. Durov launched Telegram in late 2013 with his brother, Nikolai, just months before he was pushed out of VK, the Russian social-media platform he founded. Mr. Durov pitched his new app—funded with the proceeds from the VK sale—less as a business than as a way for people to send messages while avoiding government surveillance and censorship.

A project of our size needs at least a few hundred million dollars per year to keep going,” Mr. Durov wrote in his public channel on Telegram late last year. “While doing that, we will remain independent and stay true to our values, redefining how a tech company should operate.

telegram from tr


Telegram Haskell
FROM USA