Ich habe zwei Lookup-Tabellen, die ich gerne mit einfachen Mathe entfernen würde, wenn möglich.Mathematische Formel zum Generieren Incresing Sequenzen
Die erste ist eine Abbildung von Indizes in einem Array zu der Sequenz {0} => 1, {1, 2} => 2, {3, 4, 5} => 3, s.t. es eine 1 zwei 2s, 3s drei usw. oder visuell:
lookup1[N] = {
1,
2, 2,
3, 3, 3,
4, 4, 4, 4,
5, 5, 5, 5, 5,
6, 6, 6, 6, 6, 6,
7, 7, 7, 7, 7, 7, 7,
8, 8, 8, 8, 8, 8, 8, 8,
...
}
Die zweite zur Erhöhung Sequenzen ist, ist die erste Sequenz (1), die zweiten (1, 2), die dritte (1 , 2, 3). Es ist wie ein Moduluszyklus, aber steigt nach jedem Zyklus. Visuell:
lookup2[N] = {
1,
1, 2,
1, 2, 3,
1, 2, 3, 4,
1, 2, 3, 4, 5,
1, 2, 3, 4, 5, 6,
1, 2, 3, 4, 5, 6, 7,
1, 2, 3, 4, 5, 6, 7, 8,
1, 2, 3, 4, 5, 6, 7, 8, 9,
...
}
Diese müssen aus Indizes zugeordnet werden. Für die zweite Suche würden die Eingänge 5, 4, 3 auf 3, 2 bzw. 1 abgebildet.
Gibt es mathematische Formeln, die diese Muster erzeugen würden? Ich würde lieber ein paar Anweisungen ausführen als einen Speicherzugriff.