首页> 留学资讯> 计算机科学COMP1100练习问题解决方案辅导
发布时间:2023-04-22 19:33:57
发布来源:考而思
摘要:完善自己的AI并为考试做好准备时,我们组成了一小组问题,这些问题将在Haskell的所有领域进行测试。字谜是与另一个单词或短语具有相同字母的单词或短语(“ nag ram”是“ anagram”的相似词):七巧板是使用字母表中每个字母的句子
当我们接近学期末时,您将在Haskell达到精通。只是想想,仅仅2个月前,您才被介绍到命令行和.hs文件中,而现在您正在构建AI以在排行榜上竞争!
但是,像所有技能一样,练习总是会有所帮助的。因此,当您完善自己的AI并为考试做好准备时,我们组成了一小组问题,这些问题将在Haskell的所有领域进行测试。试试看,看看他们怎么走!
问题1:字形图
让我们使用列表和递归来确定给定的字符串是否是全景图。字谜是与另一个单词或短语具有相同字母的单词或短语(“ nag ram”是“ anagram”的相似词):七巧板是使用字母表中每个字母的句子。其中最受欢迎的是“快速的棕色狐狸跳过懒狐狸”。看看它在英语字母的每个字母上至少有一次用法吗?
您的任务:使用列表和递归来确定字符串是否为字母。
答:
isPanagram :: String -> Bool
isPanagram sentence = and (zipWith (||) (helper sentence ['a' .. 'z']) (helper sentence ['A' .. 'Z']))
where
-- Helper produces a list of booleans, checking if each element of ls2 is in ls1
helper :: Eq a => [a] -> [a] -> [Bool]
helper ls1 ls2 = map ((flip elem) ls1) ls2
问题2:
编写代码以查找数字的最大素数。
答:
primeFactors :: Int -> [Int]
primeFactors n = primeFactors' n 2
where
primeFactors' 1 _ = []
primeFactors' n f
| n `mod` f == 0 = f : primeFactors' (n `div` f) f
| otherwise = primeFactors' n (f + 1)
largestPrimeFactor :: Int -> Int
largestPrimeFactor n = last (primeFactors n)
问题3:Lambda表达式
既然您已经了解了lambda表达式的实用性,请尝试使用结合了高阶函数的lambda表达式编写以下函数。
对于双打列表中的每个元素,将其替换为x^2 + x。例如,squareAndAdd [1, 1.5, 2]应该返回[2, 3.75, 6]。
答:
squareAndAdd :: [Int] -> [Int]
squareAndAdd list = map (\x -> x^2 + x) list
从整数列表中提取大于10的偶数。例如,filterEven10 [1, 4, 11, 14, 10, 18]应返回[14, 18]
答:
filterEven10 :: [Int] -> [Int]
filterEven10 list = filter (\x -> even x && x > 10) list
计算机科学COMP1100练习问题解决方案辅导找考而思老师在线一对一辅导,快速通过。
马上匹配专业老师免费答疑
相关文章
更多AP计算机科学A computer science A课程内容梳理
AP计算机科学computer science A基于“设计®理解”(Wiggins和McTighe)模型,该课程框架提供了学生成功所需的课程要求的描述,重点是包含该学科的核心原则,理论和过程的大想法。该框架还鼓励为学生提供高级计算机科学课程的教学,并将其整合到广泛的STEM相关领域。
考而思2022-05-10英国南安普顿大学计算机科学专业作业形式预览!
我们都知道英国的教育非常的严格,在大学期间,学生们可能最头疼的不是如何学习,而是如何进行作业的完成以及考试?近期就有好几位同学问我“小编,英国南安普顿大学的作业形式一般都是怎么样的呢?”今天小编就以英国南安普顿大学计算机科学专业来为大家进行详细的解答。
考而思2022-11-04加拿大本科滑铁卢大学计算机科学专业课程“出炉”啦!
加拿大本科滑铁卢大学计算机科学专业课程分为低年级和高年级两个部分进行教学。
考而思2022-11-01