Bedingung aufstellen < Mathematica < Mathe-Software < Mathe < Vorhilfe
|
Aufgabe | Aus einer grossen Liste aus 0 und 1 sollen diejenigen Elemente ausgewählt werden, die die Summe 2 ergeben. |
liste = {1,1,1,0,0,0}
Es geht darum aus vielen solchen Listen (mit 5 Elementen, entweder 0 oder 1), nur diejenigen Listen heraus zu fischen, die 2 Einsen haben, also die Summe 2.
Dabei habe ich folgendes gemacht:
-->Math-Notebook
Es werden aber keine Listen selektiert und ich verstehe nicht, was ich falsch gemacht haben.
Kann jemand helfen? :S
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 01:32 Fr 29.06.2007 | Autor: | Peter_Pein |
Hallo TRANSLTR,
abgesehen davon, dass Du bei der Definition der Funktion "weiss" den Unterstrich am "a" vergessen hast, würde ich mich nicht auf den Zufall verlassen.
Es ist ja das Feine an Mathematica, dass es so gut wie keinen Programmieraufwand erfordert solche Aufgaben lösen zu lassen:
1: | In[1]:=
| 2: | alleListen = Tuples[{0, 1}, 5]
| 3: | Out[1]=
| 4: | {{0, 0, 0, 0, 0}, {0, 0, 0, 0, 1}, {0, 0, 0, 1, 0}, {0, 0, 0, 1, 1},
| 5: | {0, 0, 1, 0, 0}, {0, 0, 1, 0, 1}, {0, 0, 1, 1, 0}, {0, 0, 1, 1, 1},
| 6: | {0, 1, 0, 0, 0}, {0, 1, 0, 0, 1}, {0, 1, 0, 1, 0}, {0, 1, 0, 1, 1},
| 7: | {0, 1, 1, 0, 0}, {0, 1, 1, 0, 1}, {0, 1, 1, 1, 0}, {0, 1, 1, 1, 1},
| 8: | {1, 0, 0, 0, 0}, {1, 0, 0, 0, 1}, {1, 0, 0, 1, 0}, {1, 0, 0, 1, 1},
| 9: | {1, 0, 1, 0, 0}, {1, 0, 1, 0, 1}, {1, 0, 1, 1, 0}, {1, 0, 1, 1, 1},
| 10: | {1, 1, 0, 0, 0}, {1, 1, 0, 0, 1}, {1, 1, 0, 1, 0}, {1, 1, 0, 1, 1},
| 11: | {1, 1, 1, 0, 0}, {1, 1, 1, 0, 1}, {1, 1, 1, 1, 0}, {1, 1, 1, 1, 1}}
| 12: |
| 13: | In[2]:=
| 14: | gesuchteListen = Select[alleListen, Plus @@ # == 2 & ]
| 15: | Out[2]=
| 16: | {{0, 0, 0, 1, 1}, {0, 0, 1, 0, 1}, {0, 0, 1, 1, 0},
| 17: | {0, 1, 0, 0, 1}, {0, 1, 0, 1, 0}, {0, 1, 1, 0, 0},
| 18: | {1, 0, 0, 0, 1}, {1, 0, 0, 1, 0}, {1, 0, 1, 0, 0}, {1, 1, 0, 0, 0}} |
Gruß,
Peter
|
|
|
|