Вопросы с тегом «functional-programming»

Этот тег предназначен для задач, связанных с парадигмой функционального программирования.

73
Создайте «H» из меньших «H»

Вызов Создайте функцию или программу, которая при задании целого числа sizeвыполняет следующие действия: Если sizeравно 1, выведите H H HHH H H Если sizeбольше 1, выведите X X XXX X X где Xвывод программы / функции дляsize - 1 (Если вы предпочитаете, базовый случай может соответствовать 0, если вы...

53
Карри произвольной длины

Напишите функцию, fкоторая принимает положительное целое число и возвращает функцию. Возвращенная новая функция должна быть идентичной f. Однако, когда происходит «вызов завершения», fвместо этого следует возвращать сумму всех переданных целых чисел. Например, g=f(4)(если fпервая функция) должна...

34
P Pr Pref Pref Префикс Префикс Префикс Префиксы

Имея некоторый конечный список, вернуть список всех его префиксов, включая пустой список, в порядке возрастания их длины. (В основном реализация функции Haskell inits.) Детали Список ввода содержит числа (или другой тип, если это более удобно). Вывод должен быть списком списков . Представление...

33
Церковные булевы

Церковные булевы Церковь булева функция , которая возвращает xдля истинно и yдля ложных , где xэто первый аргумент функции и yявляется вторым аргументом функции. Дополнительные функции могут быть составлены из этих функций, которые представляют and not or xorи impliesлогические операции. Вызов...

24
Найти фиксированную точку

Дано целое число и некоторая функция черного ящика найти фиксированную точку в последовательности, определенной .x1 f: ℤ → ℤfxk+1 := f(xk) Детали Значение xназывается фиксированной точкой fif x = f(x). Например , если f(x) := round(x/pi)и мы отправная точка , то мы получаем , то , то , и , наконец...

23
Сделайте длинную подпись типа

Вызов Найдите выражение длиной не более 100 байт с самой длинной сигнатурой типа. правила Разрешен любой статически типизированный язык с выводом типа Тип должен быть однозначным, но в противном случае он может включать типы без определенных экземпляров. Например Num [a]и Eq [a]разрешено, даже без...

23
Муравьи на натуральном бревне

Это хороший вызов для начинающих и хороший убийца времени. Я сказал только «естественный» журнал, потому что заголовок был слишком коротким, это не имеет ничего общего с логарифмами. Дано 2 переменные: Количество муравьев n. Ширина бревна w. Выведите лог ширины wс nмуравьями (показан пример w=3,...

23
Обобщенная матрица трассировки

Вдохновение. Дано (любыми средствами): Функция черного ящика с двумя аргументами (или один аргумент, состоящий из двухэлементного списка) , (вход и выход 1, 2, 3,…)f: ℤ+ × ℤ+ → ℤ+ Строго положительная целочисленная матрица с минимум двумя строками и двумя столбцами вернуть трассировку функции...

22
Получить случайное число из n цифр с разными цифрами и сначала не 0

Я прочитал этот вопрос и подумал, что это будет хорошим испытанием. задача Дайте вход 0<n<10генерировать случайное число с ровно n цифр первый не 0 так f(n)>10**(n-1)-1 отличные цифры Критерии победы Это код-гольф, поэтому выигрывает самый короткий код. случайный Я имею в виду равномерно...

21
Реализуйте парадигмы функционального программирования

Ваша компания только начинает работу над проектом, и вы впервые решили использовать стиль кода функционального программирования. Однако ваш начальник действительно неуверен в себе и не хочет использовать встроенные функции, а требует от вас реализации основных функций. В частности , вы должны...

20
Дирихле свертка

Свертка Дирихля является особым видом свертка , который выглядит как очень полезным инструмент в теории чисел. Он действует на множестве арифметических функций . Вызов Для двух арифметических функций f,gf,gf,g (т.е. функций f,g:N→Rf,g:N→Rf,g: \mathbb N \to \mathbb R ) вычисляется свертка Дирихле...

20
Сделай мне немного карри

Имея функцию f, которая принимает аргументы x 1 , x 2 ,…, x n                                                - т.е.  f: X 1 × X 2 ×… × X n → Y - curry переопределяет f как функцию, принимающую один аргумент a 1, который отображается на еще одну функцию. Этот метод полезен для частичного применения,...

20
Это усеченное треугольное число?

Связанная последовательность OEIS: A008867 Усеченное треугольное число Общим свойством треугольных чисел является то, что они могут быть расположены в виде треугольника. Например, возьмите 21 и расположите в треугольник os: о оо ооо оооо ооооо оооооо Давайте определим «усечение»: разрезание...

19
Кратчайшая функция a -> b -> (a -> b) в Haskell

На тесте я получил следующий вопрос: Напишите функцию fследующего типа a -> b -> (a -> b). aи bне должно быть связано ни в каком смысле, чем короче код, тем лучше. Я придумал f a b = \x -> snd ([a,x],b). Можете ли вы найти что-нибудь круче? На данный момент победителем является: f...

17
Расширенная машина правды

Многие люди знают, что такое истина в программировании. Но настало время, чтобы мы взлетели на ступеньку выше. Представляем, расширенную машину правды! Расширенная машина истинности принимает в качестве входных данных две вещи: целое число nи непустую строку s. Это выводит s nвремена с...

15
Создать программу Parrot

Учитывая ввод, выводим этот ввод бесконечно новую строку. На входе будет строка, состоящая только из печатаемых символов ASCII ( 0x20-0x7E) и новых строк ( 0x0A). Если input имеет длину 0, бесконечно выводите символы новой строки. Это код-гольф, поэтому побеждает меньше байтов на каждом языке...

14
Найти соответствующие группы цифр

Недавно моя репутация была 25,121. Я заметил, что каждая группа цифр (то есть числа, разделенные запятыми) была идеальным квадратом. Ваша задача состоит в том, чтобы, учитывая неотрицательное целое число N и унарную булеву функцию черного ящика f : Z * → B , получить истинное значение, если каждое...

14
Существуют ли функциональные языки программирования, предназначенные для игры в код?

Существуют ли функциональные языки программирования, предназначенные для игры в гольф кода? Я знаю, что golfscript и CJam соответствуют одной и той же категории для стека, но я не смог найти функциональный код для игры в...

14
Подсчет цепей Каннингема

Простые числа всегда очаровывали людей. 2300 лет назад Евклид писал в своих «Элементах» Простое число - это то, что измеряется одной единицей. что означает, что простое число делится только на 1(или само по себе). Люди всегда искали отношения между простыми числами и придумали довольно странные...