Форум программистов, компьютерный форум, киберфорум
Наши страницы
Haskell
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Haskell Дифференцирование функций на Haskell http://www.cyberforum.ru/haskell/thread2149954.html
Нужно написать программу на Haskell для дифференцирования функций, но не знаю как и с чего можно начать, так как изучение начал недавно, а задание нелегкое.
Haskell Форматирование списка телефонных номеров
Имеется некий список телефонных номеров, необходимо привести их к общему виду для региона: +7хххххххххх; Если в номере телефона больше или меньше цифр, чем необходимо вывести соответствующее...
Рекурсивные функции Haskell
Функция, принимающая на входе список вещественных чисел и вычисляющую их арифметическое среднее. Постарайтесь, чтобы функция осуществляла только один проход по списку.
Haskell Составить список из всех элементов списка А, которых нет в списке Б. Итак, есть условие: два списка А и Б. Задача составить список из всех элементов списка А, которых нет в списке Б. Я реализовал эту задачу с помощью генератора списка и фильтра. Есть ли еще какие... http://www.cyberforum.ru/haskell/thread2142910.html
Haskell Использование функций map, filter, foldr и foldl http://www.cyberforum.ru/haskell/thread2123011.html
а) используя функцию map - заменить каждое число в списке остатком от деления на 3 б) используя функцию filter - оставить в числовом списке числа кратные 5 или меньшие 7 в) комбинируя две...
Используя генератор списков, найти все комбинации и их число Haskell
Используя генератор списков, найти все комбинации и их число: При наборе 4-буквенного слова на телефоне(кнопочном) были нажаты клавиши 6,4,5,5. Найти все возможные «слова» и их число.
Задачи с использованием функций высших порядков map, filter, foldr, foldl Haskell
a) используя функцию map: заменить каждое число в списке остатком от деления на 3 б) используя функцию filter: оставить в числовом списке числа кратные 5 или меньшие 7 в) комбинируя две упомянутые...
Haskell Задать бесконечный список и найти в нем указанную величину а) Задать бесконечный список - Шестиугольных чисел – 1,6,15,28… б) Найти в нем указанную величину - наибольшее трехзначное число, кратное 3 http://www.cyberforum.ru/haskell/thread2121415.html
Haskell Используя функции any и all проверить условия в интерпретаторе http://www.cyberforum.ru/haskell/thread2121271.html
Используя функции any и all проверьте условия в интерпретаторе. При работе, возможно, понадобятся функции из библиотеки Char: а) в списке есть нечетные числа б) в списке нет чисел, кратных 15
Haskell Воскресные вариадические опыты Крутил на выходных забавный код: class SumRes r where sumOf :: Integer -> r instance SumRes Integer where sumOf = id instance (Integral a, SumRes r) => SumRes (a -> r) where ... http://www.cyberforum.ru/haskell/thread2116928.html
Curry
3118 / 2134 / 261
Регистрация: 01.06.2013
Сообщений: 4,598
Записей в блоге: 9
08.12.2017, 15:41 0

Haskell Функция с несколькими переменными и циклом

08.12.2017, 15:41. Просмотров 366. Ответов 5
Метки (Все метки)

Ответ

Цитата Сообщение от antoxa5481 Посмотреть сообщение
Вначале нужно объявить три переменные, затем проделать цикл.
В Haskell нет переменных и циклов.

Игра "Коровы и Быки"

Добавлено через 16 часов 43 минуты
Быки и коровы без использования списков (кроме строк для вывода)
Haskell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import Numeric
import System.Random 
    
isCow :: Int -> Int -> Bool
isCow what v = case v `divMod` 10 of
                    (_,m) | m == what -> True
                    (0,_) -> False
                    (d,_) -> isCow what d   
 
extractBulls :: Int -> Int -> (Int,Int,Int)
extractBulls 0 _ = (0,0,0)
extractBulls x y = let (d,m) = x `divMod` 10 
                       (e,n) = y `divMod` 10 
                       (b,x',y') = extractBulls d e
                   in if m == n then (b+1,x',y')
                      else (b, x'*10+m, y'*10+n)
 
getBullCows :: Int -> Int -> (Int,Int)
getBullCows secret t = (b,go 0 y)
    where (b,x,y) = extractBulls secret t
          go c 0 = c
          go c v = let (d,m) = v `divMod` 10 
                   in go (if isCow m x then c+1 else c) d
    
main :: IO () 
main = do
    secret <- randomRIO (1000::Int,9999)
    print secret
    let game = do
            putStr "? "
            x <- readLn
            if x == -1 then putStr "secret = " >> print secret
            else let (b,c) = getBullCows secret x in
                 if b == 4 then putStrLn "You won!"
                 else do
                    putStrLn $ showString "Bulls " $ showInt b $
                               showString ",  cows " $ showInt c ""
                    game
    game

Не по теме:

Печально что популярность Haskell резко пошла на убыль. Это и по активности данного раздела видно,
и по статистике в интернете. :(



Вернуться к обсуждению:
Haskell Функция с несколькими переменными и циклом
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2017, 15:41
Готовые ответы и решения:

Функция вывода структуры haskell
Есть структура data Figure = Tel String String String Int Int | Cheh String...

Функция сравнения на близость чисел / Haskell
Есть задача: Напишите функцию beside :: Nat -&gt; Nat -&gt; Bool , которая будет возвращать True только в...

Место ФП и Haskell в компьютерной индустрии (Для чего он нужен, этот Haskell?)
&quot;У нас&quot; ? А где преподавание этой экзотики на высоте? Добавлено через 2 минуты А где такие...

Функция на C++ -> Функция на Haskell
Добрый день! Step* get_moves_white(const Board&amp; board, Step* moves) { BitBoard movers, empty...

Как понять как работает эта функция в Haskell?
Я смотрю обучающее видео по haskell: https://www.youtube.com/watch?v=43zCXDb5dQ4&amp;t=1954s Там на...

5
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.