...
Du har lyst til å lage en Matlab-simulator av hviskeleken, med et valgfritt antall deltakere. Unøyaktigheten i ordformidlingen mellom deltakerne planlegger du å modellere ved å bytte plassen til to tilfeldige bokstaver i ordet. Du innser at siden alle deltakerne i spillet gjør den samme jobben, kan problemet løses rekursivt. Lag en rekursiv funksjon hviskelek(ord, n)
, som bruker rekursjon til å returnere resultatordet etter n
runder runder med hvisking.
Videoforklaring (9:45)
Widget Connector |
---|
url | https://www.youtube.com/watch?v=VomU3oquZuE |
---|
|
Løsningsforslag
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
Code Block |
---|
| function retur = hviskelek(ord, n)
if n == 0
retur = ord;
return;
end
pos1 = randi(length(ord));
pos2 = randi(length(ord));
ord([pos1, pos2]) = ord([pos2, pos1]);
retur = hviskelek(ord, n-1);
end |
|