Datum umrechnen

Neue Frage »

Schokolade7 Auf diesen Beitrag antworten »
Datum umrechnen
Hallo,

ich stehe vor einem großen Problem und finde selbst nicht die Lösung.

Zuerst hoffe ich doch, dass ich hier richtig bin. Ich wusste nicht wo ich genau posten sollte. Wenn ich falsch bin, dann bitte verschieben. Danke.

Ich suche eine Rechenoperation. Wie diese heißt kann ich leider nicht genau sagen. Ich versuche mal mein Problem darzustellen.

Ich entwerfe gerade einen Adventskalender für meine Homepage. Da aber die Besucher nicht mogeln sollen kann ich mein Skript mit der Serverzeit verbinden. Was ich auch getan habe. Aber für schlaue Leute ist es schon nach dem 1. Tag möglich auf Fensterchen 2 - 24 zu zugreifen. Und das will ich verhindern in dem ich die Dateien verschlüssel.

Nur ich weiß nicht genau wie.

Und nun kommt ihr ins Spiel. Bevor einer denkt es geht um php etc. - nein so ist es nicht. Ich suche nur nach einer bestimmten Rechenoperation.

Das habe ich auf der Seite gefunden, wo ich die Vorlagen für meinen Adventskalender her habe. Dort wird aber leider nicht erklärt, wie man den die Tage umrechnet:

Datei 535422888.htm für Tag 10
Datei 486748080.htm für Tag 11
Datei 446185740.htm für Tag 12

... logischerweise wäre für Tag 13 dann Datei 411863760.htm

Und wo liegt die Logik?

Nun, der Dateiname wird durch eine Rechenoperation ermittelt, der die angeklickte Tageszahl mit einbezieht.


Ich habe gegooglet wie eine Irre und habe nichts gefunden, wie man diese Zahlen berechnet.

Ich hoffe hier kann mir jemand helfen und mir verraten mit welcher Rechenoptioan man diese Zahlen ermittelt. Mir braucht keiner die Zahlen 1-9 und 14 bis 24 errechnen. Das möchte ich schon selber. Augenzwinkern

Wer den Link zur Adventskalenderseite braucht um dort selbst alles nachzulesen kann ihn gerne haben. (Möchte keine Fremdwerbung hier machen). Möchte nur Hilfe. Und mir sei auch verziehen das ich alles umschrieben habe. Aber ich wusste nicht, ob ihr mich richtig versteht, wenn ich einfach die Zahlen mit den Tagen hinschreibe und um eine Auflösung / Lösung bitte.

Ich freue mich auf antworten.

LG Schokolade7
Cugu Auf diesen Beitrag antworten »

Eines vorweg: Das Problem ist ill-posed. Es gibt dutzende Erklärungen, um auf diese Zahlen zu kommen. Die Mathematik kann dir nicht sagen, wofür sich die Entwickler der Seite entschieden haben.

Der gesunde Menschenverstand sagt aber, dass es dich einfachste sein wird. Nun, das Produkt von Dateinamen und Tag ist immer dasselbe. Also einfach das Produkt für einen Tag ausrechnen. Um den Dateinamen für einen anderen Tag zu erhalten muss man dann einfach teilen. Dies ist möglich, weil , also das kgV von gewählt wurd.
Iridium Auf diesen Beitrag antworten »

Zitat:
Original von Cugu
Der gesunde Menschenverstand sagt aber, dass es dich einfachste sein wird. Nun, das Produkt von Dateinamen und Tag ist immer dasselbe. Also einfach das Produkt für einen Tag ausrechnen. Um den Dateinamen für einen anderen Tag zu erhalten muss man dann einfach teilen. Dies ist möglich, weil , also das kgV von gewählt wurd.


Coole Erklärung.

Alternative Methoden, um zumindest die vier angegebenen Zahlen in dieser Reihenfolge zu berechnen, erhält man, wenn man die Zahlenreihe in wolfram alpha eingibt (in geschlossener Form, als Rekursionsgleichung u.ä.). Bei Zahlensequenzen allgemein empfiehlt sich immer auch ein Blick auf die Online Encyclopedia of Integer Sequences (OEIS). Und wenn man ein einfaches Verfahren zur Erzeugung von Zufallszahlen nutzen will (z.B. um eine Sequenz von Dateinamen zu erzeugen), dann kann man Lineare oder multiplikative Kongruenzgeneratoren benutzen, das ist oft auch die Methode, die in verschiedenen Programmen implementiert wird. Man kann das zwar relativ leicht rekonstruieren, aber nur, wenn man weiß, wonach man sucht.

Gruß
Schokolade7 Auf diesen Beitrag antworten »

Wow, Danke für die schnelle Antwort und Danke, dass Du verstanden hast, was ich wollte. smile

Nun weiß ich wenigstens wonach ich suchen muss. Ist schlimm, wenn man nach etwas sucht und man weiß nicht mal genau was es ist.^^

Ich werde mich heute Abend damit näher beschäftigen und schauen, ob ich das hinbekomme. Das Problem ist, dass ich es dann noch nicht mal testen kann, ob ich alles richtig gemacht habe. Denn auf die Serverzeit habe ich keinen Zugriff.

Hm, dann wird der 1. Dezember 2010 der Versuchstag. *g*

Also vielen vielen Dank Cugu und Iridium.

Ich werde heute Abend meine Ergebnisse posten, wenn ihr Zeit und Lust habt, könnt ja dann mal drüber schauen.

Aber erstmal muss ich richtig durchsteigen.

Schönen Tag wünsche ich euch Beiden.

Gruss Schokolade.
Schokolade7 Auf diesen Beitrag antworten »

Irgendwie muss ich mich jetzt schämen.

Ich habe Probleme bei der kgV Berechnung von 24 Zahlen. Bis 3 Zahlen würde ich das hinbekommen.

Formel:

kgV(a,b,c) = kgV(a,kgV(b,c))

Könnt ihr mir mal bitte auf die Sprünge helfen.

Ansatz:

kgV(1,..,24) = kgV(1,kgV(2,3

und dann?

Das ist mehr als peinlich. unglücklich


.
Iridium Auf diesen Beitrag antworten »

Zitat:
Original von Schokolade7
Irgendwie muss ich mich jetzt schämen.

Ich habe Probleme bei der kgV Berechnung von 24 Zahlen. Bis 3 Zahlen würde ich das hinbekommen.

Das ist mehr als peinlich. unglücklich



Unsinn, das ist überhaupt nicht peinlich, die Berechnung ist vielleicht nur auf den ersten Blick ungewohnt, aber das Prinzip ist im Grunde noch dasselbe. Was du machen kannst, ist auf jeden Fall schon mal eine Primfaktorzerlegung von den Zahlen, von denen du das kgV berechnen willst. Am besten mit den einzelnen Primfaktoren geordnet untereinander (und mit Nullexponenten, wenn eine Primzahl in einer Zerlegung nicht vorkommt). Dann sucht man sich für jeden einzelnen Faktor denjenigen mit dem höchsten Exponenten aus und multipliziert die alle zusammen. Ein Beispiel für dieses Vorgehen findest du im englischsprachigen Wikipediaeintrag

http://en.wikipedia.org/wiki/ Least_comm...rizatio<br /> n

Gruß
 
 
Schokolade7 Auf diesen Beitrag antworten »

Also Primfaktorzerlegung bekomme ich hin. *g*



Mit dem Rest beschäftige ich mich jetzt.
Cugu Auf diesen Beitrag antworten »

Sag mal, möchtest du wirklich eine "Verschlüsselung" benutzen, die ein halbwegs fähiger Schüler in ein paar Minuten knacken könnte [Ich sage nicht, dass das zwangsläufig so ist, aber dass das sein könnte!] oder möchtest du in Wirklichkeit nur auf der beschriebenen Seite alle Türen am ersten Tag öffnen?
Schokolade7 Auf diesen Beitrag antworten »

Bei der 16 ist mir ein Fehler unterlaufen

Cugu Auf diesen Beitrag antworten »

Außerdem gilt .
Schokolade7 Auf diesen Beitrag antworten »

Zitat:
Original von Cugu
Sag mal, möchtest du wirklich eine "Verschlüsselung" benutzen, die ein halbwegs fähiger Schüler in ein paar Minuten knacken könnte [Ich sage nicht, dass das zwangsläufig so ist, aber dass das sein könnte!] oder möchtest du in Wirklichkeit nur auf der beschriebenen Seite alle Türen am ersten Tag öffnen?


Nein, hinter der Seite stecken keine Türchen.

Schau hier:

http://www.web-toolbox.net/webtoolbox/adventskalender/

Ich hoffe es ist ok, dass ich nun diesen Link veröffentlicht habe und das nun nicht unter Fremdwerbung zählt.

Kalender 14 habe ich mir runtergeladen (meine Bilder anstatt die vorgegebenen Bilder auf meinen Server hochgeladen und die Türchen befüllt (dort befinden sich kleine Gewinnspiele, deswegen soll keiner am 1. Tag alle Türchen öffnen können, das wäre einfach unfair gegenüber alle!)

Ich meinem Alter muss ich keine Türchen vorzeitig öffnen. Augenzwinkern

Und unter

"Mogeln"
"PHP Datum vom Server" (ganz nach unten scrollen)

findet man die Abhilfe für mein Vorhaben.

Aber ich verstehe es einfach nicht. unglücklich

Edit: Sorry, dass beim Tag 9 mir noch ein Fehler unterlaufen ist.

Ich kann Dir auch per PN gerne den Link zur meiner Homepage geben, damit Du siehst das ich keine fremden Türchen knacken möchte. Augenzwinkern
Cugu Auf diesen Beitrag antworten »

Was verstehst du denn nicht?

Da du anscheinend programmieren kannst, hätte ich mir an deiner Stelle längst ein Programm geschrieben, dass das kgV zweier Zahlen berechnet.
So sieht mein Matlab-Code aus:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
function out=kgv(c,d) 

if c>d     
  a=c;     
  b=d; 
else     
  a=d;     
  b=c; 
end 

while b>0    
  r=mod(a,b);   
  a=b;   
  b=r; 
end 

out=c*d/a; 
end

Und dann benutzt du die Formel .
Du kannst dann doch einfach
code:
1:
2:
3:
4:
j=1; 
for i=2:n     
  j=kgv(i,j); 
end
mit ausrechnen lassen.
Schokolade7 Auf diesen Beitrag antworten »

Zitat:
Original von Cugu
Was verstehst du denn nicht?

Da du anscheinend programmieren kannst, hätte ich mir an deiner Stelle längst ein Programm geschrieben, dass das kgV zweier Zahlen berechnet.
So sieht mein Matlab-Code aus:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
function out=kgv(c,d) 

if c>d     
  a=c;     
  b=d; 
else     
  a=d;     
  b=c; 
end 

while b>0    
  r=mod(a,b);   
  a=b;   
  b=r; 
end 

out=c*d/a; 
end

Und dann benutzt du die Formel .
Du kannst dann doch einfach
code:
1:
2:
3:
4:
j=1; 
for i=2:n     
  j=kgv(i,j); 
end
mit ausrechnen lassen.


Ich weiß auch nicht wo derzeit mein Problem ist. Ich bekomme das einfach nicht mit den 24 Zahlen hin.

Meine Kenntnisse in PHP sind erst noch im Aufbau, deswegen arbeite ich mit vielen kostenlosen Vorlagen, die ich anpassen bzw. ändern kann. Deswegen muss ich mal austesten, ob ich das hinbekomme... aber ich würde lieber so das kgV rausbekommen.

Ich habe nun doch den Entwickler der Seite kontaktiert und eine Antwort kam auch recht schnell. Er war so freundlich und hat mir die Übersicht für alle 24 Tage geschickt. smile

Dieses Problem ist somit gelöst, 1. Dezember ist ja bald und deswegen bin ich froh, dass ich mich darum nicht mehr kümmern muss.

Aber der Hinweis mit kgV war ein Volltreffer. smile

Jedenfalls werde ich nicht aufgeben und mich nächste Woche nochmal hinsetzen und meine kgV Lücke schliessen.

Ich danke euch Beiden für die Hilfe. smile

LG Schokolade
Cugu Auf diesen Beitrag antworten »

Zitat:
Dies ist möglich, weil , also das kgV von gewählt wurd.

Du hättest auch einfach die Zahlen miteinander multiplizieren können...

Wenn du dir deine Primfaktorzerlegung noch einmal anguckst, wirst du dir vermutlich überlegen können, wie ich auf die Zahlen gekommen bin.

Im Grunde wurde das sogar schon gesagt:
Zitat:
Dann sucht man sich für jeden einzelnen Faktor denjenigen mit dem höchsten Exponenten aus und multipliziert die alle zusammen.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »