Ulam-Folge
aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 8. April 2022 um 07:21 Uhr durch imported>Rachmat04(1741674) (Änderungen von 217.92.130.215 (Diskussion) auf die letzte Version von Thomas Dresler zurückgesetzt).
Als (u,v)-Ulam-Folge wird eine von dem polnischen Mathematiker Stanisław Marcin Ulam definierte Zahlenfolge bezeichnet. Dabei sind u und v natürliche Zahlen. Die Folge ist definiert durch:
- Fehler beim Parsen (Konvertierungsfehler. Der Server („https://wikimedia.org/api/rest_“) hat berichtet: „Cannot get mml. Server problem.“): {\displaystyle a_{1}=u\,}
- Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle a_2=v\,}
- Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle a_n\,} ist die kleinste natürliche Zahl, die größer als Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle a_{n-1}} ist und sich eindeutig als Summe zweier Zahlen aus Fehler beim Parsen (MathML mit SVG- oder PNG-Rückgriff (empfohlen für moderne Browser und Barrierefreiheitswerkzeuge): Ungültige Antwort („Math extension cannot connect to Restbase.“) von Server „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \lbrace a_1,a_2,\ldots,a_{n-1} \rbrace} darstellen lässt.
Beispiel: Die (1,2)-Ulam-Folge hat die Glieder
.
5 gehört nicht zur Folge, da 5 = 2+3 = 4+1 sich nicht eindeutig darstellen lässt. Die weiteren Folgeglieder sind
.
Die Glieder einer Ulam-Folge werden auch als (u,v)-Ulam-Zahlen bezeichnet.
Realisierung der (1,2)-Ulam-Folge in C++
#include <iostream>
#define N 100 // beliebige Obergrenze der Folge
using namespace std;
int main(){
int ulam[N]={}; // Ulamfolge als Array
ulam[0] = 1; // Deklaration des 1.
ulam[1] = 2; // und 2. Elements
for(int i=2; i< N; i++){
int x = ulam[i-1]; // potentiell nächsthöherer Listeneintrag
int c; // Zähler der möglichen Kombinationen
do {
c = 0;
x++;
// Durchexerzieren aller möglichen
// Kombinationen bisherigen Listenelemente
for(int k=0; k<i; k++){
for(int n=0; n<k; n++){
// Zähler Inkrementation bei Gültiger Kombination:
if(ulam[n] + ulam[k] == x){
c++;
}
}
}
} while(c!=1); // Abbruchbedingung für den Fall einer einzigen(!)
// möglichen Kombination
ulam[i] = x; // Zuweisen des Wertes mit gültiger kombination
cout << x << endl; // Ausgabe
}
return 0;
}
Auf diese Art lässt sich jede beliebige Ulam-Folge (u,v) realisieren, indem man im Code
ulam[0] = u;
ulam[1] = v;
einsetzt.
Literatur
- Richard Guy: Unsolved Problems in Number Theory. 3. Aufl. Springer, New York u. a. 2004, ISBN 0-387-20860-7. S. 166–167
Weblinks
- Eric W. Weisstein: Ulam Sequence. In: MathWorld (englisch).
- (1,2)-Ulam-Folge A002858 in OEIS