Autor Beitrag
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30



BeitragVerfasst: Mo 11.12.17 18:44 
Achja, meine verspätete Lsg
DIM AS String A,S,SC,PO
DIM AS INTEGER L,i,GELB,kette
S="A":SC=""
kette=1
WEITER:
L=LEN(S)
GELB=0
FOR i=1 TO L
PO=MID(S,i,1)
IF PO="A" THEN SC=SC+"Bc"
IF PO="a" THEN SC=SC+"bC"
IF PO="B" THEN SC=SC+"Ca"
IF PO="b" THEN SC=SC+"cA"
IF PO="C" THEN SC=SC+"Ab"
IF PO="c" THEN SC=SC+"aBa"
NEXT i
S=SC:SC=""
kette+=1
FOR i=1 TO LEN(S)
PO=MID(S,i,1)
IF PO="b" OR PO="B" THEN GELB+=1
NEXT i
PRINT kette;".Kette","Gelbe ";Gelb,"Laenge ";LEN(S)
Gelb=0
SLEEP
GOTO WEITER

Ausgabe
2.Kette Gelbe 1 Laenge 2
3.Kette Gelbe 1 Laenge 5
4.Kette Gelbe 4 Laenge 10
5.Kette Gelbe 6 Laenge 20
6.Kette Gelbe 14 Laenge 45
7.Kette Gelbe 31 Laenge 103
8.Kette Gelbe 72 Laenge 213
9.Kette Gelbe 141 Laenge 440
10.Kette Gelbe 299 Laenge 979
11.Kette Gelbe 680 Laenge 2170
12.Kette Gelbe 1490 Laenge 4552
13.Kette Gelbe 3062 Laenge 9605
14.Kette Gelbe 6543 Laenge 21125
15.Kette Gelbe 14582 Laenge 46109
16.Kette Gelbe 31527 Laenge 97650
17.Kette Gelbe 66123 Laenge 208329
18.Kette Gelbe 142206 Laenge 454510
19.Kette Gelbe 312304 Laenge 984528
20.Kette Gelbe 672224 Laenge 2098425
21.Kette Gelbe 1426201 Laenge 4500919
Symbroson
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 382
Erhaltene Danke: 67

Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
BeitragVerfasst: Mo 11.12.17 20:45 
Wer langeweile hat - hier die Ausgabe bis Kette 27:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
C:\Users\user>CD C:\Projects & gcc EEAK10.c & a
num:  length : yellows :time ms
-------------------------------
  1:        1:        0:      0
  2:        2:        1:      0
  3:        5:        1:      0
  4:       10:        4:      0
  5:       20:        6:      0
  6:       45:       14:      0
  7:      103:       31:      0
  8:      213:       72:      0
  9:      440:      141:      0
 10:      979:      299:      0
 11:     2170:      680:      0
 12:     4552:     1490:      0
 13:     9605:     3062:      0
 14:    21125:     6543:      0
 15:    46109:    14582:      0
 16:    97650:    31527:      0
 17:   208329:    66123:      0
 18:   454510:   142206:      0
 19:   984528:   312304:     31
 20:  2098425:   672224:     93
 21:  4500919:  1426201:    390
 22:  9768357:  3074718:   1812
 23: 21082852:  6693639:   7578
 24: 45121043: 14389213:  30910 //      31s
 25: 97020546: 30731830: 143931 // 2min 24s
 26:209876848: 66288716: 742173 //12min 22s
 27:452234933:143588132:3361045 //56min  1s

und das Programm dazu:
ausblenden volle Höhe C++-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
#include <stdint.h>

extern int clock();
extern void free(void *ptr);
extern void* malloc(int size);
extern void* realloc(void *ptr, int size);
extern int printf(char* fmt, ...);

#define addr(v) r[len++] = v
#define chlen(l) if(l > mlen) r = realloc(r, mlen += 10)
#define repl2(a,b,c)   case a: chlen(len+2); addr(b); addr(c); break;
#define repl3(a,b,c,d) case a: chlen(len+3); addr(b); addr(c); addr(d); break;

uint32_t len = 1;

char* fmt(char* s) {
  uint32_t i = -1, mlen = len + len;
  char* r = malloc(mlen);
  len = 0;
  
  while(s[++i])
    switch(s[i]) {
      repl2('A''B''c')
      repl2('a''b''C')
      repl2('B''C''a')
      repl2('b''c''A')
      repl2('C''A''b')
      repl3('c''a''B''a')
    }
  r[len] = 0;
  free(s);
  return r;
}

int main() {
  char* s = malloc(len + 1);
  s[0] = 'A';
  printf(
    "num:  length : yellows :time ms\n"
    "-------------------------------\n"
    "  1:        1:        0:      0\n"
  );
  uint8_t c = 1;
  uint32_t start = clock();
  while(c++) {
    s = fmt(s);
    uint32_t i = -1, n = 0;
    while(s[++i]) if(s[i] == 'B' || s[i] == 'b') n++;
    printf("%3i:%9i:%9i:%7i\n", c, len, n, clock()-start);
  }

  free(s);
  return 0;
}

nach der 27. stirbt mein Programm - vllt RAM voll - bei 1.356GB wäre das durchaus möglich - wer weiß

_________________
most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
TarantelFaser47
Hält's aus hier
Beiträge: 8
Erhaltene Danke: 2

Win 10
Delphi 7
BeitragVerfasst: Mo 11.12.17 21:07 
Aus irgendeinem Grund dachte ich, dass die 1. Kette „AaBbCc“ lautet...
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30



BeitragVerfasst: Mo 11.12.17 21:15 
@Symbroson probier ich mal, bei mir hat der <2min die 26. schon.
27. nach 6min 27.Kette Gelbe 130841761 Laenge 411946966 500MB
Symbroson
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 382
Erhaltene Danke: 67

Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
BeitragVerfasst: Mo 11.12.17 21:24 
stimmt ich bin ja auch bescheuert für 10 Zeichen den Speicher zu reallocieren. Das frisst ja unheimlich Zeit... Bei höheren Werten sieht das doch schon ganz anders aus! (sterben tut er trotzdem nach der 27...)
die hier ist mit +1MB:
ausblenden C++-Quelltext
1:
#define chlen(l) if(l > mlen) r = realloc(r, mlen += 1000000)					

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
C:\Users\user>CD C:\Projects & gcc EEAK10.c & a
num:  length : yellows :time ms
-------------------------------
  1:        1:        0:      0
  2:        2:        1:      0
  3:        5:        1:      0
  4:       10:        4:      0
  5:       20:        6:      0
  6:       45:       14:      0
  7:      103:       31:      0
  8:      213:       72:      0
  9:      440:      141:      0
 10:      979:      299:      0
 11:     2170:      680:      0
 12:     4552:     1490:      0
 13:     9605:     3062:      0
 14:    21125:     6543:      0
 15:    46109:    14582:      0
 16:    97650:    31527:      0
 17:   208329:    66123:     15
 18:   454510:   142206:     15
 19:   984528:   312304:     31
 20:  2098425:   672224:     46
 21:  4500919:  1426201:     93
 22:  9768357:  3074718:    187
 23: 21082852:  6693639:    406
 24: 45121043: 14389213:   1015
 25: 97020546: 30731830:   2390
 26:209876848: 66288716:   7078
 27:452234933:143588132:  22719


Ich kann die Zeit auf ca 10 Sekunden heruntertreiben, wenn ich immer 100MB hinzufüge...

_________________
most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30



BeitragVerfasst: Mo 11.12.17 21:54 
Hm , der krallte sich bei 760 MB fest und lieferte dann doch noch nach 35min etwas...ist aber falsch :-(
28.Kette Gelbe 116383146 Laenge 366174167

Nehme an, die 1000 MIO Stellen werden intern abgeschnitten

Könnte man wahrscheinlich nur mit Festplatte lösen. Alle Zeichen werden auf Platte geschrieben und gelb gezählt....diese dient wieder als Quelle für nächste usw. Der brauch dann nur 2-3 Zeichen zu merken und zu schreiben.
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Mo 11.12.17 22:29 
Hallo,
die 34.Kette hat
14906307846 A
20597558971 a
14141736997 B
16551781449 b
15883448353 C
14810070093 c
eine Gesamtlänge von 96890903709 Lämpchen und davon 30693518446 gelbe.
Das Ergebnis kommt mit Excel sofort. :wink:

LG Steffen

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Symbroson
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 382
Erhaltene Danke: 67

Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
BeitragVerfasst: Mo 11.12.17 22:33 
Was zur Hölle macht excel wenn nichtmal C das schafft?!
Sendet es die Aufgaben an Google Server wo dann irgendein Supercomputer das Zeug rechnet?!

_________________
most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Mo 11.12.17 22:39 
user profile iconSymbroson hat folgendes geschrieben Zum zitierten Posting springen:
Was zur Hölle macht excel wenn nichtmal C das schafft?!
Sendet es die Aufgaben an Google Server wo dann irgendein Supercomputer das Zeug rechnet?!

Schau dir mal die Excel-Datei an.
Die 6 Regeln kann man einfach als Gleichungen umsetzen, zum Beispiel c -> aBa und B -> Ca in
a(n+1) = 2*c(n) + B(n)
usw.

LG Steffen

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Symbroson
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 382
Erhaltene Danke: 67

Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
BeitragVerfasst: Mo 11.12.17 22:40 
Oh. Ja. Stimmt. Zu offensichtlich. Warum bin ich da nicht drauf gekommen. :autsch:

_________________
most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 762
Erhaltene Danke: 127



BeitragVerfasst: Mo 11.12.17 22:45 
Ich sehe gerade den neuen Rang des Mathematikers - nämlich "Quizmaster".
Eine gelungene Anerkennung!
Gratulation und Respekt!

ub60

Für diesen Beitrag haben gedankt: Mathematiker
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30



BeitragVerfasst: Mo 11.12.17 23:16 
UI, RESPEKT !
Tja, was könnte excel machen ...??? Vielleicht entwickelt der keinen String, sondern berechnet mit einer Formel die Anzahl....
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Mo 11.12.17 23:31 
Hallo,
bevor es morgen beim Nerd-Rätsel zu große Verwirrung gibt, gebe ich heute schon einen Hinweis.

Das Rätsel hat nichts mit Kryptografie, Primzahlen, Dualzahlen und anderen Zahlsystemen, verschlüsselten Botschaften antiker Völker, historischen Ereignissen und astronomischen Konstellationen zu tun.

Es ist kleines, nicht ganz ernst zu nehmendes Rätsel. Mir gefällt es. :D
Und bitte daran denken: Der Adventskalender soll Spaß machen und nicht für Frust sorgen.

Viel Erfolg beim Lösen
Steffen

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30



BeitragVerfasst: Mo 11.12.17 23:48 
Hab da schon ein Plan , was das sein könnte....
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8535
Erhaltene Danke: 473

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 11.12.17 23:50 
Na, dann kann die Lösung ja nur noch "Jean-Luc Skywalker, Captain der Galactica" lauten. :mrgreen:

_________________
We are, we were and will not be.

Für diesen Beitrag haben gedankt: Mathematiker
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Mo 11.12.17 23:53 
Ach so, ganz wichtig.
42 ist nicht die Lösung.
Das ist zwar immer eine korrekte Antwort, aber hier ausnahmsweise nicht. :wink:

LG Steffen

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
mibe201067
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 140
Erhaltene Danke: 19

Win XP, Win 7; Win 8.1

BeitragVerfasst: Mo 11.12.17 23:57 
Pizza holen, Bier holen, dann einfach die Lösung zu versuchen, es ist die ganze Nacht und den restlichen Tag Zeit dazu, nicht jetzt schon spekulieren.
Dann wird es eine mindestens zufriedenstellende Leistung oder gar keine, und jedenfalls keine "ganz schwache".

*bin immer noch sauer*
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Di 12.12.17 00:59 
Kann mir bitte mal jemand einen Screenshot mit der Endposition vom 11. Rätsel schicken?

Ich kann einfach nicht glauben, dass wirklich alle Kisten auf ihre Plätze müssen.. :shock: :cry:

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
Symbroson
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 382
Erhaltene Danke: 67

Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
BeitragVerfasst: Di 12.12.17 01:01 
sorry, ich kannte die 12 schon :roll:

Zitat:
Ich kann einfach nicht glauben, dass wirklich alle Kisten auf ihre Plätze müssen
Ist es nicht beweis genug, dass das Level von 22 Spielern gelöst wurde?

_________________
most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Di 12.12.17 01:15 
user profile iconSymbroson hat folgendes geschrieben Zum zitierten Posting springen:
Ist es nicht beweis genug, dass das Level von 22 Spielern gelöst wurde?


Ihr habt eine "Zieh-Funktion" gefunden, gebt es zu :-D

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)