Hallo allerseits,
Es geht um folgendes Problem:
Nach dem "Urknall" gibt es die 2 Atome (Bausteine) 3 und 5
3, 5
Die folgende Regel R gibt an, wie aus einer Menge von Bausteinen eine neue Menge entsteht, die die alte Menge enthält:
Addiere jeweils 2 Atome (die ungleich sein müssen, also nicht 2 gleiche Atome) aus der alten Menge und füge sie später der alten Menge hinzu.
Beispiel:
3,5
Erweiterung1: 8 ergibt:
3,5, 8
Erweiterung2: 11, 13 ergibt:
3,5, 8, 11, 13
Erweiterung3: 14, 16, 19, 24, 18, 21 ergibt:
3,5, 8, 11, 13, 14, 16, 19, 24, 18, 21
...
Diese immens wachsenden Zahlen will ich in eine Tabelle einer DB schreiben.
Mit SQL soll dies wie folgt gehen:
================================================
CREATE TABLE Atoms (Atom BIGINT NOT NULL);
INSERT INTO Atoms(Atom) VALUES (3),(5);
WHILE (10000 > (SELECT COUNT(*) FROM Atoms))
BEGIN
INSERT INTO Atoms
SELECT DISTINCT(a1.atom+a2.atom)
FROM Atoms a1
INNER JOIN Atoms a2 ON a1.atom != a2.atom
WHERE NOT EXISTS (SELECT atom FROM Atoms a3 WHERE a3.atom = (a1.atom + a2.atom))
================================================
Frage:
Wie macht man dies mit Mysql ?
mfg
Bh
Es geht um folgendes Problem:
Nach dem "Urknall" gibt es die 2 Atome (Bausteine) 3 und 5
3, 5
Die folgende Regel R gibt an, wie aus einer Menge von Bausteinen eine neue Menge entsteht, die die alte Menge enthält:
Addiere jeweils 2 Atome (die ungleich sein müssen, also nicht 2 gleiche Atome) aus der alten Menge und füge sie später der alten Menge hinzu.
Beispiel:
3,5
Erweiterung1: 8 ergibt:
3,5, 8
Erweiterung2: 11, 13 ergibt:
3,5, 8, 11, 13
Erweiterung3: 14, 16, 19, 24, 18, 21 ergibt:
3,5, 8, 11, 13, 14, 16, 19, 24, 18, 21
...
Diese immens wachsenden Zahlen will ich in eine Tabelle einer DB schreiben.
Mit SQL soll dies wie folgt gehen:
================================================
CREATE TABLE Atoms (Atom BIGINT NOT NULL);
INSERT INTO Atoms(Atom) VALUES (3),(5);
WHILE (10000 > (SELECT COUNT(*) FROM Atoms))
BEGIN
INSERT INTO Atoms
SELECT DISTINCT(a1.atom+a2.atom)
FROM Atoms a1
INNER JOIN Atoms a2 ON a1.atom != a2.atom
WHERE NOT EXISTS (SELECT atom FROM Atoms a3 WHERE a3.atom = (a1.atom + a2.atom))
================================================
Frage:
Wie macht man dies mit Mysql ?
mfg
Bh
Comment