2013-06-05 53 views
-2

您能否給我一個算法(最好是類似C的語言),它能夠枚舉所有的algebraic numbers?維基百科表示這些數字是可數的(與實數不同)。我已經問過一個similar question on MathExchange,但它對我沒有多大幫助。枚舉所有的代數數字

+1

這不是一個純粹的數學問題嗎?在完成算法之後編寫代碼應該是小菜一碟,但我會收集你會在數學相關網站上獲得更多幫助。 –

+3

我希望你知道有無限多的代數... – 2013-06-05 10:34:25

+0

此外,這是網站的程序員不是數學家,所以這將是很好,如果你已經提供*代數*的定義在這裏或至少有鏈接到維基百科條目定義它們。當你提出問題時,你的目標應該是儘量減少那些試圖回答你的問題的人的努力...... – plesiv

回答

3

沒有辦法以與定義所說的完全不同的方式表示代數數字:一個整數係數多項式可以爲零的數字。尤其是,並非所有的代數數字都可以通過對整數迭代地應用加法,除法,乘法,減法和* n * th來表示。

基本上枚舉所有代數數字的唯一方法是列舉具有整數係數的所有多項式。這是微不足道的。

0

有一種方法可以將非負整數(a1,a2,...,an)的有序集合轉換爲單個整數B.整數B以二進制形式表示時應如下所示:

100..00100..00...100..00 
|-a0-| |-a1-| |-an-| 

我有一種感覺,這可以幫助你,但不知道如何,因爲你沒有正確定義代數是什麼,以及它是如何構造的,等等。

+1

代數數是存在整數係數的多邊形* p *的數* a *,使得* p(a)== 0 *。 – Oswald