你能给我一个算法(最好用C语言),它能够枚举所有algebraic numbers吗?维基百科说这些数字是可数的(与实数不同)。我已经问了similar question on MathExchange,但它对我帮助不大。
答案 0 :(得分:3)
没有办法以与定义所说的根本不同的方式表示代数数字:具有整数系数的多项式可以为零的数字。特别是,并非所有的代数数都可以通过迭代地将加法,除法,乘法,减法和* n *根应用于整数来表达。
基本上,枚举所有代数数的唯一方法是枚举所有具有整数系数的多项式。这是微不足道的。
答案 1 :(得分:0)
有一种方法可以将有序的非负整数集(a1,a2,...,an)转换为单个整数B.整数B,当以二进制形式表示时应该如下所示:
100..00100..00...100..00
|-a0-| |-a1-| |-an-|
我有一种感觉,这可以帮助你,但不知道如何,因为你没有正确定义代数是什么,以及如何构造它,以及其中一些。