Symulator maszyny lotto

Odpowiedz Nowy wątek
2017-10-31 22:17

Rejestracja: 2 lata temu

Ostatnio: 3 miesiące temu

0

Witam,

Prosiłbym o zmodyfikowanie kody na symulator maszyny losującej.Mogą być te same funkcje lekko zmodyfikowane (w sensie żeby troszke inaczej wyglądał kod), lub inne funkcje ale nie za trudne. Prosiłbym o jak najszybsze zmodyfikowanie , ponieważ muszę to mieć do 24 . Z góry dziękuję.

#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <windows.h>

int main()
{
    int tab[7][7], L[6], W[6];
    int liczba, ile_skreslen=0;
    int i, j, w, k, l, q, e=0;
    srand(time(0));
    printf("         KUPON         \n");
    for(i=0; i<7; i++)
        for(j=0; j<7; j++)
            tab[i][j] = (i*7) + j + 1;
    for(i=0; i<7; i++){
        for(j=0; j<7; j++)
            printf("%3d",tab[i][j]);
            printf("\n");
    }
    printf("\n\n\n");
    while(ile_skreslen < 6 && e < 6)
    {
        liczba = rand()%49+1;
        w=((liczba+7)/7)-1;
        k=(liczba%7)-1;
        if(tab[w][k] != -1)
        {

          printf("Zakreslam liczbe: %d\n", liczba);
          W[e]=liczba;
          tab[w][k] = -1;
          ile_skreslen++;
          e++;
        }
        else
          printf("Liczba %d jest juz skreslona losuje jeszcze raz.\n",liczba);
     }
    printf("\n\n\n");

    printf("      Zakreslony kupon:      \n");

    for(i=0; i<7; i++)
    {

        for(j=0; j<7; j++)
        if(tab[i][j]==-1) printf("%3dX",(i*7)+j+1);
        else
        printf("%4d",tab[i][j]);
        printf("\n");
    }
    printf("\n\n\n");
    printf("Szczesliwe liczby to: ");
    for(l=0;l<6;l++){
        q=rand()%49+1;
        if(L[0]!=q&&L[1]!=q&&L[2]!=q&&L[3]!=q&&L[4]!=q&&L[5]!=q) L[l]=q;
        else L[l]=rand()%49+1;
        printf("%d ",L[l]);
    for(e=0;e<6;e++)
    if(W[e]==L[l]) printf("Trafienie! ");
    }
    printf("\n\n\n");
    system("pause");
    return 0;
}
edytowany 1x, ostatnio: furious programming, 2017-10-31 22:20
czuje wielu chetnych ;) - fprogrammer 2017-10-31 23:30
zostało 29 minut - vpiotr 2017-10-31 23:34
po coś się tyle nakodził... tożto zadanie na 3 linijki kodu w R. chosenNumbers <- c(6, 10, 11, 15, 30);randomizedNumbers <- sample(1:49, 6);sum(sapply(chosenNumbers, function(x) x %in% randomizedNumbers)) - Julian_ 2017-10-31 23:47
@Julian_: pominąłeś drukowanie kuponu - vpiotr 2017-11-04 10:50

Pozostało 580 znaków

2017-11-04 12:21

Rejestracja: 9 lat temu

Ostatnio: 9 godzin temu

1

Z nudów dokończyłem to zadanie.
Taka ciekawostka dla tych co graja w lotto - wynik z programu:

Kupon skreslony
         KUPON         
  1   2   3   4x  5   6   7 
  8   9  10  11  12x 13  14 
 15  16  17  18  19  20x 21x
 22  23x 24  25x 26  27  28 
 29  30  31  32  33  34  35 
 36  37  38  39  40  41  42 
 43  44  45  46  47  48  49 

Liczby skreslone
  4 12 20 21 23 25

Liczby wylosowane
  4 12 20 21 23 25

Liczby pasujace
  4 12 20 21 23 25

Liczba losowan - w ostatnim wykonaniu: 124624
Liczba losowan - calkowita: 1119162907
Liczba losowan - srednia: 11191629

t.j. aby wygrac 100 x najwyzsza wygrana (6 trafien z 49 liczb), trzeba bylo grac 1119162907 razy
a najwysza wygrana trafiala sie srednio co 11191629 losowan (przy 100 probach)
co daje (przy 2 losowaniach w tygodniu) glowna wygrana srednio po 107611 latach
Aby wygrac glowna nagrode w ciagu 10 lat trzeba skreslac 10762 zakladow przy 2 losowaniach w tygodniu
Koszty
Cena skreslenia: 3 zl
Sredni koszt glownej wygranej: 33574887 zl
Sredni koszt miesieczny dla celu 10 lat to ok. 258288 zl

real    8m13.806s
user    8m13.772s
sys 0m0.000s

edytowany 4x, ostatnio: furious programming, 2017-11-04 15:44
widać, że Ci się nudzi na chacie. - Julian_ 2017-11-04 12:52
Dodałem koszty - vpiotr 2017-11-04 13:03
To na wypadek gdyby ktoś chciał sobie zrobić biznes plan :) - vpiotr 2017-11-04 13:04
trzeba jeszcze policzyć prawdopodobieństwo, że mafia czatuje pod centralą i jak ktoś idzie odebrać nagrodę to już go mają. - Julian_ 2017-11-04 13:07

Pozostało 580 znaków

2017-11-04 13:18

Rejestracja: 9 lat temu

Ostatnio: 9 godzin temu

0

Wyniki dla "piątki" = 3500 zł

Kupon skreslony
         KUPON         
  1   2   3   4   5   6   7x
  8   9  10  11x 12  13  14 
 15x 16  17  18x 19  20x 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  46x 47  48  49 

Liczby skreslone
  7 11 15 18 20 46

Liczby wylosowane
  7 11 15 20 45 46

Liczby pasujace
  7 11 15 20 46

Liczba losowan - w ostatnim wykonaniu: 51600
Liczba losowan - calkowita: 6112944
Liczba losowan - srednia: 61129

t.j. aby wygrac 100 x celowana wygrana (5 trafien na 6 z 49 liczb), trzeba bylo grac 6112944 razy
a celowana wygrana trafiala sie srednio co 61129 losowan (przy 100 probach)
co daje (przy 2 losowaniach w tygodniu) celowana wygrana srednio po 587 latach
Aby wygrac celowana nagrode w ciagu 10 lat trzeba skreslac 59 zakladow przy 2 losowaniach w tygodniu
Koszty
Cena skreslenia: 3 zl
Sredni koszt celowanej wygranej (5 z 49) to: 183387 zl
Sredni koszt miesieczny dla celu 10 lat to ok. 1416 zl

real    0m2.853s
user    0m2.848s
sys 0m0.000s

Pozostało 580 znaków

Krzywy Lew
2017-11-04 17:41
Krzywy Lew
0

@vpiotr

Dzięki za podzielenie się, ale coś mi się tu nie zgadza.

Dla piątki, napisałeś, że średnia wygrana to 183 387 zł. Natomiast miesięczny koszt żeby wygrać po 10 latach to ok. 1 416zł.
Więc: 10 lat x 12 miesięcy x 1416zł = 169 920 zł. (Czyli statystycznie powinno wyjść się na plus).

To samo wychodzi jeśli podstawię liczby dla szóstki - też wyszłoby się na plus.

Czy gry hazardowe typu 'lotto' nie są przypadkiem zaprojektowane tak, że statystycznie wychodzi się na minus?

^sfixowany post. Damn muszę w końcu konto założyć, żeby móc edytować ;p

Założenie konta trwa 10 sekund – nie ma się nad czym zastanawiać. - furious programming 2017-11-04 17:45
Dla piątki wygrywasz 3500 zł, średni koszt wygrania to 183387 zł, czyli saldo końcowe dla wygranej piątki to: -179887 zł - vpiotr 2017-11-04 17:56

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0