首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在LISP中列出从1800年开始的所有闰年?

在LISP中,可以使用以下代码列出从1800年开始的所有闰年:

代码语言:txt
复制
(defun leap-years (start-year)
  (loop for year from start-year to (get-decoded-time) by 1
        when (or (zerop (mod year 4))
                 (and (zerop (mod year 100))
                      (not (zerop (mod year 400)))))
        collect year))

这段代码定义了一个名为leap-years的函数,它接受一个起始年份作为参数。函数使用loop循环从起始年份到当前年份(通过(get-decoded-time)获取)逐年遍历。在每一年,通过判断是否满足闰年的条件来决定是否将该年份收集起来。闰年的条件是:能被4整除但不能被100整除,或者能被400整除。

以下是一些示例调用该函数的方式:

代码语言:txt
复制
(leap-years 1800) ; 列出从1800年开始的所有闰年
(leap-years 2000) ; 列出从2000年开始的所有闰年

这样就可以得到从指定年份开始的所有闰年列表。

LISP是一种函数式编程语言,具有简洁的语法和强大的列表处理能力。它在人工智能和符号计算等领域有广泛的应用。在云计算领域,LISP可以用于编写自动化脚本、处理大规模数据、构建分布式系统等。腾讯云提供了云服务器、云数据库、云函数等多种产品,可以满足不同场景下的需求。具体产品信息和介绍可以参考腾讯云官方网站:腾讯云

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

测试用例的设计方法(全)「建议收藏」

1.定义 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。 2.划分等价类: 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。 1)有效等价类 是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。 2)无效等价类 与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。 设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。 3.划分等价类的标准: 1)完备测试、避免冗余; 2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合; 3)并是整个集合:完备性; 4)子集互不相交:保证一种形式的无冗余性; 5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到”相同的执行路径”。

04

软件测试实战演习

1.某程序设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。 1)划分等价类并编号,下表等价类划分的结果 输入等价类 有效等价类 无效等价类 日期的类型及长度 ①6位数字字符 ②有非数字字符 ③少于6位数字字符 ④多于6位数字字符 年份范围 ⑤在1990~2049之间 ⑥小于1990 ⑦大于2049 月份范围 ⑧在01~12之间 ⑨等于00 ⑩大于12 2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下: 测试数据 期望结果 覆盖的有效等价类 200211 输入有效 ①、⑤、⑧ 3)为每一个无效等价类设计一个测试用例,设计结果如下: 测试数据 期望结果 覆盖的无效等价类 95June 无效输入 ② 20036 无效输入 ③ 2001006 无效输入 ④ 198912 无效输入 ⑥ 200401 无效输入 ⑦ 200100 无效输入 ⑨ 200113 无效输入 ⑩

00

Java8中关于日期和时间API的20个使用示例

随着lambda表达式、streams以及一系列小优化,Java8推出了全新的日期时间API,在一下的指南中我们将通过一些简单的示例来学习如何使用新API。Java处理日期、日历和时间的方式一直为社区所诟病,将java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。Java也意识到需要一个更好的API来满足社区中已经习惯了使用JodaTime API的人们。全新API的众多好处之一就是,明确了日期时间概念,例如:瞬时(instant)、期间(duration)、日期、时间、时区和周期。同时继承了Joda库按人类语言和计算机各自解析的时间处理方式。不同于老版本,新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。下面是新版API中java.time包里的一些关键类:

02
领券