Advertisement
Vladi1442

Untitled

Aug 16th, 2022
939
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. main :: IO()
  2. main = do
  3.     print $ "Hello world"
  4.     print $ "Let's go!"
  5.  
  6. dominates f g xs = and [abs (f x) >= abs (g x) | x <- xs]
  7.  
  8. seriesSum :: Double -> Int -> Double
  9. seriesSum n x = sum [s | i <- [1..n], s <- [x^i + fromIntegral (i^2) + 1]]
  10.  
  11. listOfIndexes lst = (\x -> [xi + 10 | xi <- lst, x == xi])
  12.  
  13. findNb :: Integer -> Integer
  14. findNb m = helper m 1
  15.     where
  16.         helper :: Integer -> Integer -> Integer
  17.         helper m i
  18.             | m < i = -1
  19.             | otherwise = helper (m - 1 ^ 3) (i+1)
  20.  
  21. kthNumber p xs = (\k -> if length filtered > k then error "No such number" else filtered!!(k-1))
  22.     where
  23.         fitlered = filter p xs
  24.  
  25. applyEveryKth f k xs = helper 1 xs
  26.     where
  27.         helper :: Int -> [Int] -> [Int]
  28.         helper _ [] = []
  29.         helper i (x:xs)
  30.             | i == k = f x : helper 1 xs
  31.             | otherwise = x : helper (i+1) xs
  32.  
  33. speak :: String -> (Char -> String)
  34. speak str c = foldl (\ acc (pos, x) -> if x == c then acc ++ show pos else acc ++ [x]) [] $ zip str $ reverse [0 .. length str - 1]
  35.  
  36. iterator f xs = helper xs
  37.     where
  38.         helper :: [Int] -> Bool
  39.         helper [] = True
  40.         helper (x:xs)
  41.             | null xs = True
  42.             | head xs == f x = helper xs
  43.             | otherwise = False
  44.  
  45. getIndices xs = (\x -> [(pos1, pos2) | (x1, pos1) <- zip xs [0..], (x2, pos2) <- zip xs [0..], x = x1 + x2 && pos1 /= pos2])
  46.  
  47. removeKth :: Int -> [Int] -> [Int]
  48. removeKth n xs = helper xs 1
  49.     where
  50.         helper :: [Int] -> Int -> [Int]
  51.         helper (x:xs) index
  52.             | index == k = f x : helper xs 1
  53.             | otherwise = x : helper xs (index+1)
  54.  
  55. factorize :: Int -> [Int]
  56. factorize num = helper num 2
  57.     where
  58.         helper :: Int -> Int -> [Int]
  59.         helper 1 _ = []
  60.         helper leftover divs
  61.             | mod leftover divs == 0 = divs : helper (div leftover 10) divs
  62.             | otherwise = helper leftover (divs+1)
  63.  
  64. poly xs = (\x -> sum [n * (x^i) | (n, i) <- zip xs [0 .. length xs]])
  65.  
  66. digits :: Int => [Int]
  67. digits = map digitToInt . show
  68.  
  69. decreasing :: [Int] -> Bool
  70. decreasing [] = True
  71. decreasing (x:xs)
  72.     | null xs = 0
  73.     | head xs == f x = helper xs
  74.     | otherwise = False
  75.  
  76. decDigits :: Int -> Bool
  77. decDigits n = decreasing (digits n)
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement