Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Losowanie - liczb np. 14, 88, 143

Ostatnio zmodyfikowano 2009-02-18 18:43
Autor Wiadomość
Sajan
Temat założony przez niniejszego użytkownika
Losowanie - liczb np. 14, 88, 143
» 2009-02-17 21:24:26
Czy da się zrobić tak aby wylosowana liczba była np. podzielna przez 3???
Jak zrobić aby wylosować jedna z liczb np. 14, 88, 143, 555, 12956??? Chodzi mi o to aby nie podawac zakresu tylko podac kilka liczb.
P-4279
lynx
» 2009-02-17 21:40:12
Czy da się zrobić tak aby wylosowana liczba była np. podzielna przez 3???
Tak, najlepiej użyj pętelki for w której będzie losowana liczba aż do wylosowania podzielnej przez 3.
Jak zrobić aby wylosować jedna z liczb np. 14, 88, 143, 555, 12956??? Chodzi mi o to aby nie podawac zakresu tylko podac kilka liczb.
Losowanie liczby od zera do liczby liczb. :) I instukcja switch.
P-4280
Skala
» 2009-02-18 12:50:47
@Sajan - 14, 88, 143, 555, 12956
Żadna z tych liczb nie jest podzielna przez 3 ;)

Ładna funkcja manfred
P-4283
Sajan
Temat założony przez niniejszego użytkownika
» 2009-02-18 15:48:00
@Skala
Po pierwsze to podałem dwa różne pytania. Po drugie liczba 555 jest podzielna przez trzy <555:3=185>. Matematyka sie klania xD
P-4285
Skala
» 2009-02-18 17:47:47
no tak :) przepraszam za spam
Przyznaje Ci rację
P-4292
pekfos
» 2009-02-18 18:29:19
if( losowa % 3 == 0 ) /*coś tam*/;
dziwne że nikt nie zastosował takiego warunku
P-4293
manfred
» 2009-02-17 21:53:53
1. Serio najlepiej??
C/C++
int podzielnaPrzez( int co, int max ) {
    return( rand() %(( max + co ) / co ) ) * co;
}
2. Jaki switch??
C/C++
int losowaZKilku( void ) {
    const int ILE_LICZB = 6;
    const int liczby[ ILE_LICZB ] = { 42, 69, 169, 666, 4761, 443556 };
    return liczby[ rand() % ILE_LICZB ];
}
Szybciej, ładniej i w ogóle lepiej niż na switchu.

@up: Ty masz O(+inf) i O(log n), ja O(1) i O(1). Powiedz sam co ma mniejszą złożoność.
P-18748
manfred
» 2009-02-18 18:43:57
No ej, ale on chce liczbę podzielną przez 3, a jeżeli wylosuje się inna, to trzeba losować jeszcze raz, a złożoność tego algo to nieskończoność (jak się nigdy podzielna przez 3 nie wylosuje)... O tym właśnie mówił Pietrzuch. Ja rzuciłem algo o złożoności STAŁEJ. Mniejszej już nie ma...
P-18752
« 1 »
  Strona 1 z 1