ubuntuusers.de

[Code-Gala] 12 Aussagen

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4650

Wohnort: Berlin

Da 2008 ja schon ein bisschen her ist, dachte ich es wird mal wieder Zeit für ein neues Code-Gala Thema. 😇

Gegeben sind die folgenden Aussagen:

  1. Dies sind 12 Aussagen.

  2. Genau drei von den letzten sechs Aussagen sind wahr.

  3. Genau zwei von den Aussagen mit geraden Nummern sind wahr.

  4. Falls Aussage 5 wahr ist, sind es auch die Aussagen 6 und 7.

  5. Die drei vorhergehenden Aussagen sind alle unwahr.

  6. Genau vier der Aussagen mit ungeraden Nummern sind wahr.

  7. Entweder Aussage 2 oder 3 ist wahr, aber nicht Beide.

  8. Falls Aussage 7 wahr ist, dann sind Aussagen 5 und 6 beide wahr.

  9. Genau drei der ersten sechs Aussagen sind wahr.

  10. Die nächsten beiden Aussagen sind beide wahr.

  11. Genau eine der Aussagen 7, 8, und 9 ist wahr.

  12. Genau vier der vorhergehenden Aussagen sind wahr.

Finde alle Lösungen, das heisst alle Möglichkeiten diese Aussagen mit „Ja“ oder „Nein“ zu beantworten, die in sich konsistent sind. Es ist beispielsweise nicht möglich das alle Aussagen mit „Ja“ beantwortet werden, denn wenn die letzten sechs Aussagen wahr sind, muss Aussage 2 mit „Nein“ beantwortet werden.

Ich selbst habe schon ein Programm geschrieben. In BASIC. Auf einem VIC-20. Braucht nur 33 Minuten und 24 Sekunden für alle Lösungen. Das sollte zu schlagen sein. 🤡

(P.S. Wenn man „Kein Ubuntu“ auswählt, muss man trotzdem die Ubuntu-Version auswählen. 🤦)

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
(Themenstarter)
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4650

Wohnort: Berlin

Hab's noch mal überarbeitet und statt erst alle 12 Aussagen zu prüfen und dann zu schauen ob die alle wahr sind, bricht die überarbeitete Version die Prüfung der aktuellen Belegung ab sobald ein Test fehl schlägt. Jetzt dauert es nur noch 11 Minuten und 52 Sekunden auf dem VIC-20. 😀

 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
5 TI$="000000"
10 SN=12:SC=0
20 DIMS(SN)
30 FORI=0TO2^SN-1
40 A=I
50 FORJ=1TOSN
60 S(J)=AAND1
70 A=INT(A/2)
80 NEXT
100 IF-S(1)<>(SN=12)THEN280
110 IF-S(2)<>(S(7)+S(8)+S(9)+S(10)+S(11)+S(12)=3)THEN280
120 IF-S(3)<>(S(2)+S(4)+S(6)+S(8)+S(10)+S(12)=2)THEN280
130 IF-S(4)<>(S(5)*(S(6)+S(7))=2ORS(5)=0)THEN280
140 IF-S(5)<>(S(2)+S(3)+S(4)=0)THEN280
150 IF-S(6)<>(S(1)+S(3)+S(5)+S(7)+S(9)+S(11)=4)THEN280
160 IF-S(7)<>(S(2)+S(3)=1)THEN280
170 IF-S(8)<>(S(7)*(S(5)+S(6))=2ORS(7)=0)THEN280
180 IF-S(9)<>(S(1)+S(2)+S(3)+S(4)+S(5)+S(6)=3)THEN280
190 IF-S(10)<>(S(11)+S(12)=2)THEN280
200 IF-S(11)<>(S(7)+S(8)+S(9)=1)THEN280
210 IF-S(12)<>(S(1)+S(2)+S(3)+S(4)+S(5)+S(6)+S(7)+S(8)+S(9)+S(10)+S(11)=4)THEN280
250 GOSUB500
280 NEXT:PRINTTI$:END
500 SC=SC+1
510 PRINT"SOLUTION"SC
520 FORJ=1TOSN
530 IFS(J)THENA$="Y":GOTO550
540 A$="N"
550 PRINT"STMT"STR$(J)"="A$,
560 NEXT:RETURN
Antworten |