Passos aleatoris 1D X30686


Statement
 

pdf   zip

Donat un nombre NN de passos i una probabilitat pp d’avançar (i per tant, de 1p1-p de recular), simuleu (amb la funció randrand) NN passos amb probabilitat pp. La probabilitat pp és un real entre 00 i 11

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=5N = 5 amb una probabilitat d’avançar del 90%90\% llavors tindrem, per exemple, que si les 5 probabilitats són sempre positives menys l’última:

111101 1 1 1 0

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

123431 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 44 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.00.0 i 1.01.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++