Passos aleatoris 1D X30686


Statement
 

pdf   zip

html

Donat un nombre N de passos i una probabilitat p d’avançar (i per tant, de 1−p de recular), simuleu (amb la funció rand) N passos amb probabilitat p. La probabilitat p és un real entre 0 i 1

El programa ha de dir a cada pas a quina distància a devant del punt de partida (nombre positiu) o a quina distància a darrere del punt de partida (nombre negatiu) ens hem quedat. Cada distància ha d’anar separada per un espai.

Per exemple, si tenim que N = 5 amb una probabilitat d’avançar del 90% llavors tindrem, per exemple, que si les 5 probabilitats són sempre positives menys l’última:

1 1 1 1 0 

Això és simplement una suposició, perquè els valors dependran de la funció rand. En tot cas, amb aquestes probabilitats, la seqüència de sortida serà:

1 2 3 4 3 

Això vol dir que en el primer pas ens hem allunyat una unitat del centre, en el segon una altra, igual que al tercer i quart pas, ja que la funció rand ens ha donat "endevant". Això ens ha situat a distància 4 del punt d’origen. Com que la darrera probabilitat ens diu que cal recular, llavors ens trobem al punt 3.

Entrada

Una llavors (enter), un nombre de passos (enter positiu) i una probabilitat (enter entre 0.0 i 1.0).

Sortida

La seqüència de distàncies, a cada pas, del punt de partida.

Public test cases
  • Input

    50
    100
    0.30
    

    Output

    1 2 1 0 -1 -2 -3 -4 -5 -6 -7 -6 -7 -8 -9 -10 -11 -12 -11 -12 -13 -14 -13 -12 -11 -10 -11 -12 -13 -14 -13 -14 -13 -14 -13 -14 -15 -16 -17 -18 -19 -18 -19 -18 -19 -20 -21 -22 -21 -22 -23 -24 -25 -26 -25 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -32 -33 -34 -35 -34 -35 -34 -33 -34 -35 -36 -37 -36 -35 -34 -35 -34 -33 -34 -35 -34 -35 -36 -35 -36 -37 -38 -37 -38 -37 -38 -39 -40 -41 -42 
    
  • Input

    50
    5
    0.90
    

    Output

    1 2 3 4 5 
    
  • Information
    Author
    Jaume Baixeries
    Language
    Catalan
    Official solutions
    Unknown.
    User solutions
    C++