Unniversalformel

Ich habe eine Zahlenfolge die aus mehreren Zahlenfolgen besteht.
Alles:
Folge: 2,7,11,2,8,6,22,5,14,5,33,8,20,4,44,11,26,3,55,18…

Glied: 1,2,03,4,5,6,07,8,09 …

Getrennt:

  1. 2, , , ,8, , , ,14, , , ,20, , , ,26, , , …

  2. ,7, , , ,6, , , ,5, , , ,4, , , ,3, , …

  3. , ,11, , , ,22, , , ,33, , , ,44, , , ,55, …

  4. , , ,2, , , ,5, , , ,5, , , ,11, , , ,18…

Berechnung:

  1. 6x-4

  2. -1x+8

  3. 11x

  4. 3x-1

Frage: Giebt es eine Rechnung, die wenn ich ein Glied (n) habe, berechnet was der wert von (n) ist?

z.B: Ich will wissen was das Glied 2’051’994 für einen Wert hat.

hi,

Frage: Giebt es eine Rechnung, die wenn ich ein Glied (n)
habe, berechnet was der wert von (n) ist?

ja.
du teilst dein x durch 4
z.b. 2.051.994 : 4 = 512.998, rest 2

erhältst du den rest 1, vermehrst du den ganzzahligen quotienten um 1 und verwendest die formel 6x-4
rest 2: detto mit -x+8
rest 3: detto mit 11x
rest 0: 3x-1 aber ohne vermehrung des quotienten um 1.

in deinem fall
f(2.051.994) = -512.999 + 8 = -512.991

m.

übrigens: „gibt“, „universal“
und: hier im forum gelten minimalanreden als angebracht.

Frage: Giebt es eine Rechnung, die wenn ich ein Glied (n)
habe, berechnet was der wert von (n) ist?

Nein. Es gibt ja z.B. schon mehrere Indizes n für die das n-te Folgenglied 5 ist.
Mathematisch gesprochen würde man sagen die Zuordnung Index &rarr Folgenglied ist nicht injektiv. Und von einer Abbildung die nicht injektiv ist, kann es keine Umkehrfunktion geben.
Wie Michael auf seine Antwort gekommen ist weiß ich nicht.
Grüße

hendrik

hi,

Frage: Giebt es eine Rechnung, die wenn ich ein Glied (n)
habe, berechnet was der wert von (n) ist?

Nein. Es gibt ja z.B. schon mehrere Indizes n für die das n-te
Folgenglied 5 ist.
Mathematisch gesprochen würde man sagen die Zuordnung Index
→ Folgenglied ist nicht injektiv. Und von einer Abbildung
die nicht injektiv ist, kann es keine Umkehrfunktion geben.
Wie Michael auf seine Antwort gekommen ist weiß ich nicht.

ich glaube, da liegt ein missverständnis vor. der fragesteller wollte m.e. nicht die umkehrung („das wie vielte folgenglied ist x?“), sondern wollte lediglich berechnen, wie das folgenglied mit einem bestimmten index aussieht. das habe ich erläutert.

m.

hendrik

Ich habe mich wohl undeutlich augedrück. Ziel ist es, alle diese kleinen Formeln (z.B.-1x+8) umgehen zu können, also wenn man direkt weis: ah Glied 2’051’994 ist -512’991.
Sorry für das Missverständniss.

ich glaube, da liegt ein missverständnis vor. der fragesteller
wollte m.e. nicht die umkehrung („das wie vielte folgenglied
ist x?“), sondern wollte lediglich berechnen, wie das
folgenglied mit einem bestimmten index aussieht. das habe ich
erläutert.

Oh stimmt, mein Fehler. Sorry, ich dachte er wollte die Umkehrung. Na dann ist ja alles gesagt.

hendrik

Ich habe eine Zahlenfolge die aus mehreren Zahlenfolgen
besteht.
Alles:
Folge: 2,7,11,2,8,6,22,5,14,5,33,8,20,4,44,11,26,3,55,18…

Glied-Nr: 1,2,03,4,5,6,07,8,09 …

Berechnung:

  1. 6x-4
  2. -1x+8
  3. 11x
  4. 3x-1

Frage: Gibt es einen Ausdruck für das n-te Glied?
z.B: n = 2’051’994

**Antwort:** Ja, mit Hilfe der Modulo Funktion

n % 4 ist der Rest, beim Dividieren durch 4, also

für 

n = 1, 5, 9, ...
n%4 = 1, 1, 1, ...
4-n%4 = 3, 3, 3, ...
x = (n+3)/4 = 1, 2, 3, ...
6x - 4 = 2, 8, 14, ...

n = 2, 6, 10, ...
n %4 = 2, 2, 2, ...
4-n%4 = 2, 2, 2, ...
x = (n+2)/4 = 1, 2, 3, ...
-x+8 = 7, 6, 5, ...

n = 3, 7, 11, ...
n %4 = 3, 3, 3, ...
4-n%4 = 1, 1, 1, ...
x = (n+1)/4 = 1, 2, 3, ...
11x = 11, 22, 33, ...

n = 4, 8, 12, ...
n %4 = 0, 0, 0, ...
4 - n %4 = 4, 4, 4, ...
x = (n+4)/4 = 2, 3, 4, ...
3(x-1)-1 = 2, 5, 8, ...

Und nach der Grand Unified Theorie ergibt das für das Glied a(n), n = 1, 2, 3, ...:


a(n) = n%4 \* (n%4 - 3) \* (n%4 - 2) \* (n%4 - 2) \* [6\*(n+4-n%4)/4 - 4]
 + n%4 \* (n%4 - 3) \* (n%4 - 1) \* (n%4 - 1) \* [-(n+4-n%4)/4 + 8]
 + n%4 \* (n%4 - 2) \* (n%4 - 2) \* (n%4 - 1) \* [11(n+4-n%4)/4]
 + 1 \* (n%4 - 3) \* (n%4 - 2) \* (n%4 - 1) \* [3\*{(n+4-n%4)/4-1} - 1]

P.S.: Tippfehler nicht ausgeschlossen!
P.S.2: Das nennt man auch Spaghetti Code

Freundliche Grüße und viel Erfolg damit.

Ich habe eine Zahlenfolge die aus mehreren Zahlenfolgen
besteht.
Alles:
Folge: 2,7,11,2,8,6,22,5,14,5,33,8,20,4,44,11,26,3,55,18…

Glied-Nr: 1,2,03,4,5,6,07,8,09 …

Berechnung:

  1. 6x-4
  2. -1x+8
  3. 11x
  4. 3x-1

Frage: Gibt es einen Ausdruck für das n-te Glied?
z.B: n = 2’051’994

Antwort: Ja, mit Hilfe der Modulo Funktion

P.S.: Tippfehler nicht ausgeschlossen!
P.S.2: Das nennt man auch Spaghetti Code

Freundliche Grüße und viel Erfolg damit.

Die ‚Tippfehler‘ haben sich tatsächlich eingestellt: Die Gewichte müssen natürlich normiert werden. Da ich gerade einen lambda-Ausdruck in Python üben wollte (hat nicht ganz geklappt, auch habe ich ein wenig Probleme mit dem long int type), habe ich die Universum-Formel gleich ausprobiert:

Python:

**\*\*\* def a(n): return (  
 ((n%4)//(1%4))\*((n%4-3)//(1%4-3))\*((n%4-2)//(1%4 - 2)) \* (6\* ((n+4-n%4)//4) - 4)  
 + ((n%4)//(2%4))\*((n%4-3)//(2%4-3))\*((n%4-1)//(2%4 - 1)) \* (-1\* ((n+4-n%4)//4) + 8)  
 + ((n%4)//(3%4))\*((n%4-2)//(3%4-2))\*((n%4-1)//(3%4 - 1)) \* (11\* ((n+4-n%4)//4) + 0)  
 + ((n%4-3)//(4%4-3))\*((n%4-2)//(4%4-2))\*((n%4-1)//(4%4 - 1)) \* (3\* (((n+4-n%4)//4) -1) - 1)  
 )**  

\*\*\* print([a(n) for n in range(1L,13L)])
SyntaxError: invalid syntax (\*pyshell#91\*, line 1)
\*\*\* print([a(n) for n in range(1,13)])
[2, 7, 11, 2, 8, 6, 22, 5, 14, 5, 33, 8]
\*\*\* 2051993%4
1
\*\*\* print(n for n in range(2051993, 2051993+4))
\*generator object \*genexpr\* at 0x01036AD0\*
\*\*\* print(n for n in range(2051993L, 2051993L+4))
SyntaxError: invalid syntax (\*pyshell#95\*, line 1)
\*\*\* print(n for n in [2051993, 2051994, 2051995, 2051996])
\*generator object \*genexpr\* at 0x01036AA8\*
**\>\>\> print([a(n) for n in range(1,121)])  
[2, 7, 11, 2, 8, 6, 22, 5, 14, 5, 33, 8, 20, 4, 44, 11, 26, 3, 55, 14, 32, 2, 66, 17, 38, 1, 77, 20, 44, 0, 88, 23, 50, -1, 99, 26, 56, -2, 110, 29, 62, -3, 121, 32, 68, -4, 132, 35, 74, -5, 143, 38, 80, -6, 154, 41, 86, -7, 165, 44, 92, -8, 176, 47, 98, -9, 187, 50, 104, -10, 198, 53, 110, -11, 209, 56, 116, -12, 220, 59, 122, -13, 231, 62, 128, -14, 242, 65, 134, -15, 253, 68, 140, -16, 264, 71, 146, -17, 275, 74, 152, -18, 286, 77, 158, -19, 297, 80, 164, -20, 308, 83, 170, -21, 319, 86, 176, -22, 330, 89]**  
\*\*\* 

Aha! Die Formel scheint zu stimmen …

Falls sich jemand mit Python auskennt, kann er mir erklären, warum

print(n for n in range(2051993L, 2051993L+4))

hier nicht funktioniert hat.

Gruß