Ruby级分 杰克·理查兹(Jack Richards)撰写 一个简单的程序,通过为每个枚举的有理数分配一个唯一的自然数作为标签来证明有理数是可数的。 理论/资料来源 程序的基本功能依赖于一系列函数,在所有自然数N到所有有理数Q之间都有明确的双射。 程序利用该双射来分配标签,并利用其逆来生成输入标签的唯一有理数。 该程序利用Stern双原子级数的递归版本来生成有序自然数,以用于列举有理数。 可以在上面的StackExchange链接中看到用于提供结果的实际函数。 用法 有两个主要文件运行该程序,每个文件具有不同的功能。 driver.rb 使用命令ruby driver.rb