a)
pool = 1:1:34;
b)
function ticket = getTicket(pool, N) for i = 1:N k = randi(length(pool)); ticket(i) = pool(k); pool(k) = []; end end
c)
function equals = compareLists(list1, list2) equals = 0; for i = 1:length(list1) if ismember(list1(i), list2) equals = equals + 1; end end end
d)
function prize = prizeSize(correctNumbers, correctAdditionalNumbers) if correctNumbers==7 prize = 2749455; elseif correctNumbers == 6 && correctAdditionalNumbers >=1 prize = 102110; elseif correctNumbers == 6 prize = 3385; elseif correctNumbers == 5 prize = 95; elseif correctNumbers == 4 && correctAdditionalNumbers >=1 prize = 45; else prize = 0; end end
e)
function lottoSimulator() pool = 1:34; myTicket = zeros(10,7); fprintf('Dine tall:\n') for i = 1:10 fprintf('\nRekke %d: ', i); myTicket(i,:) = sort(getTicket(pool, 7)); fprintf('%3d ', myTicket(i,:)); end pause(3); drawnNumbers = getTicket(pool, 10); fprintf('\nTrukne tall:\n'); for j = 1:7 pause(0.5); fprintf('%5d ',drawnNumbers(j)); end fprintf('\nTilleggstall:\n'); for k = 1:3 pause(0.5); fprintf('%5d ',drawnNumbers(7 + k)); end prize = 0; for h = 1:10 correctNumbers = compareLists(myTicket(h,:), drawnNumbers(1:7)); correctAdditionalNumbers = compareLists(myTicket(h,:), drawnNumbers(8:10)); prize = prize + priseSize(correctNumbers, correctAdditionalNumbers); end fprintf('\nDu har vunnet: %d kroner\n', prize); end
f)
function bool = smartInvestment() totalWinnings = 0; numberOfCoupons = 7400/5; pool = [1:34]; drawnNumbers = getTicket(pool, 10); for i = 1:numberOfCoupons myCoupon = getTicket(pool, 7); correctNumbers = compareLists(myCoupon, drawnNumbers(1:7)); correctAdditionalNumbers = compareLists(myCoupon, drawnNumbers(8:10)); totalWinnings = totalWinnings + prizeSize(correctNumbers, correctAdditionalNumbers); end fprintf('Total gevinst: %d', totalWinnings); bool = totalWinnings > 7400; end
Etter å ha kjørt koden 20 ganger, har det ennå ikke lønnet seg å spille lotto.