Advertisement
Vladi1442

Untitled

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