Einzelnen Beitrag anzeigen
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 13.11.09, 02:31   #3 (permalink)
ICHdasICH
 
Registriert seit: 24.11.04
ICHdasICH Leistung: Facit NTK
Likes: 0
Standard

So, das ganze mal in 34 Zeilen haeszlichem Prolog. Fuer den != CDW, der mir den Code erklaeren kann, gibts nochmal nen Keks. ;-)

Das ganze loest beide Teile der Aufgabe. Wenn auch ARG langsam. Am Ende lassen sich alle benoetigten startzeiten mit -? st(X). finden.

[SPOILER]:- dynamic(time/1).
:- dynamic(st/1).

gentimes :-
stime(H,M,S),
uhrzeit(H,M,S),
gentimes.

stime(H,M,S) :-
random(0,25,X),
random(0,61,Y),
random(0,61,Z),
(
(
not(st([X,Y,Z])),not(time([X,Y,Z])),
assert(st([X,Y,Z])),assert(time([X,Y,Z])),
H is X,M is Y,S is Z,
write('StartTime: '),write(X),write('h '),write(Y),write('m '),write(Z),write('s'),nl
)
stime(H,M,S)
)
).

uhrzeit(H,M,S) :-
Z is (S + 11) mod 60,
((Z < 11, MT is 1)Z >= 11,MT is 0)),
Y is ((M + 11) + MT) mod 60,
((Y < 11, HT is 1)Y >= 11,HT is 0)),
X is ((H + 11) + HT) mod 24,
not(time([X,Y,Z])),
write('GenerTime: '),write(X),write('h '),write(Y),write('m '),write(Z),write('s'),nl,
assert(time([X,Y,Z])),
uhrzeit(X,Y,Z).[/SPOILER]

Geändert von throjan (16.11.09 um 20:59 Uhr)
ICHdasICH ist offline   Mit Zitat antworten
 

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 55 56 57 58 59 60 61