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: |

How Does Bitcoin Work?

Bitcoin is built on a distributed digital record called a blockchain. As the name implies, blockchain is a linked body of data, made up of units called blocks that contain information about each and every transaction, including date and time, total value, buyer and seller, and a unique identifying code for each exchange. Entries are strung together in chronological order, creating a digital chain of blocks. “Once a block is added to the blockchain, it becomes accessible to anyone who wishes to view it, acting as a public ledger of cryptocurrency transactions,” says Stacey Harris, consultant for Pelicoin, a network of cryptocurrency ATMs. Blockchain is decentralized, which means it’s not controlled by any one organization. “It’s like a Google Doc that anyone can work on,” says Buchi Okoro, CEO and co-founder of African cryptocurrency exchange Quidax. “Nobody owns it, but anyone who has a link can contribute to it. And as different people update it, your copy also gets updated.”

telegram from ua


Telegram Haskell
FROM USA