Autor |
Beitrag |
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30
|
Verfasst: 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
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: Mo 11.12.17 20:45
Wer langeweile hat - hier die Ausgabe bis Kette 27:
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:
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
|
Verfasst: 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
|
Verfasst: 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
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: 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:
C++-Quelltext 1:
| #define chlen(l) if(l > mlen) r = realloc(r, mlen += 1000000) |
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
|
Verfasst: 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
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: 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.
LG Steffen
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: 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
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mo 11.12.17 22:39
Symbroson hat folgendes geschrieben : | 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
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: Mo 11.12.17 22:40
Oh. Ja. Stimmt. Zu offensichtlich. Warum bin ich da nicht drauf gekommen.
_________________ 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
Beiträge: 762
Erhaltene Danke: 127
|
Verfasst: 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
|
Verfasst: 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
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: 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.
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
|
Verfasst: Mo 11.12.17 23:48
Hab da schon ein Plan , was das sein könnte....
|
|
Gausi
Beiträge: 8535
Erhaltene Danke: 473
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 11.12.17 23:50
Na, dann kann die Lösung ja nur noch "Jean-Luc Skywalker, Captain der Galactica" lauten.
_________________ We are, we were and will not be.
Für diesen Beitrag haben gedankt: Mathematiker
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: 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.
LG Steffen
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
mibe201067
Beiträge: 140
Erhaltene Danke: 19
Win XP, Win 7; Win 8.1
|
Verfasst: 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
Beiträge: 491
Erhaltene Danke: 19
Windows 7x64
Delphi 7
|
Verfasst: 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..
_________________ In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege
|
|
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: Di 12.12.17 01:01
sorry, ich kannte die 12 schon
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
Beiträge: 491
Erhaltene Danke: 19
Windows 7x64
Delphi 7
|
Verfasst: Di 12.12.17 01:15
_________________ In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege
|
|
|