Hirdetés

Új hozzászólás Aktív témák

  • sztanozs
    veterán

    Volna egy apró feladatom, aki szereti az ilyen kis apró agytornákat - na nem mintha olyan nehéz volna, csak mégis. Arra volnék kíváncsi, ki hogyan oldaná meg az alábbi bekérési folyamatot:

    Igazából a két kocka a program egy-egy állapotát jelzi, amikor ugyanazt a függvényt egyik vagy másik (de mindig ugyanazon egyik vagy másik) paraméterrel kell meghívni, a nyilak pedig hogy a visszatérési érték függvényében mit kell csinálni a következő lépésben.

    A folyamat a baloldali állapotban kell hogy induljon.
    Ha mindkétszer sikerrel lefutott (0, 0) akkor készen vagyunk,
    2es eredmény után mindkét esetben gondolkodás nélkül ki kell lépnünk a folyamatból,
    1es eredmény után alapvetően "visszalépünk", de ez az első esetben szintén kilépést jelent.

    Asszem valahogy így (remélem jól értettem az ábrát):
    while(1) {
    a = inputa();
    b = inputb();
    if (fv(a)) break;
    fb = fv(b);
    if (fb == 0 || fb == 2) break;
    }

    Vagy az értékeket csak egyszer kéri be? De akkor ha fv(a) == 0 és fv(b) = 1 akkor végtelen ciklus lesz...

    Vagy egymás eredményét használják fel?
    a = input >> b = fv(a) >> a = fv(b)?

Új hozzászólás Aktív témák