Domanda di Aptitude di Flowgraph

-1

Recentemente ho esaminato una domanda sul diagramma di flusso.

Considera 8 caselle con i seguenti valori

Box 1 = 2
Box 2 = 7
Box 3 = 2
Box 4 = 1
Box 5 = 5
Box 6 = 7
Box 7 = 1
Box 8 = 4

Ora segui le istruzioni:

  1. Inserisci il numero dalla casella 7 nella casella 1
  2. Aggiungi i numeri dalla casella 1 e 2, e inserisci il risultato nella casella 1
  3. Cambia istruzione 2, aumenta il numero nel riquadro 2 di 1
  4. Se il secondo numero di casella menzionato nell'istruzione 2 è maggiore del numero nella casella 8, fermati. In caso contrario, andare al passaggio 2.

Che numero è nel Box 1 adesso?

Nota: quando ti viene detto di inserire un numero in una casella, significa che qualsiasi numero precedentemente inserito in quella casella è stato appena cancellato.

Quando ho provato a risolvere:

  1. b [1] = 1
  2. b [1] = 1 + 7 = 8
  3. b [b [2]] = b [7] +1 = b [7] = 2
  4. b [2] > b [8] 7 > 4: true

risultato: 8

Ma la soluzione è 11! Come? Mi sono bloccato. Sto interpretando male qualcosa?

    
posta Dineshkumar 26.07.2013 - 16:49
fonte

2 risposte

1

Ecco come la interpreto:

  1. Inserisci il numero dalla casella 7 nella casella 1 - abbastanza semplice. Il numero nella casella 7 viene impostato come numero nella casella 1.
  2. Aggiungi i numeri dalla casella 1 e 2, e metti il risultato nella casella 1 - anche abbastanza semplice. La somma delle caselle 1 e 2 viene assegnata alla casella 1.
  3. Modifica istruzione 2, Aumenta il numero nel riquadro 2 di 1 - Penso che le virgolette qui renderebbero più chiaro - Aumenta il numero in "Riquadro 2" di 1. è per dire che l'istruzione 2 ora legge "Aggiungi i numeri dalla casella 1 e casella 3, e metti il risultato nella casella 1"
  4. Se il secondo numero di casella menzionato nell'istruzione 2 è maggiore del numero nella casella 8, fermati. In caso contrario, andare al passaggio 2. - Il motivo della strana formulazione è per il semplice fatto che il numero di casella menzionato nella seconda istruzione è soggetto a modifiche. Effettueremo un ciclo di questo algoritmo per 4 volte, in cui la casella 5 terminerà il ciclo (poiché la casella 8 contiene il valore 4).

Detto questo, dopo averlo applicato a questo set, ottieni i seguenti passaggi:

2 7 2 1 5 7 1 4
1 7 2 1 5 7 1 4
8 7 2 1 5 7 1 4
10 7 2 1 5 7 1 4
11 7 2 1 5 7 1 4

E se la scatola 1 contiene la soluzione, allora è 11.

L'algoritmo sembra mettere la somma dei numeri in ciascuna casella nella prima casella. È certamente uno strano modo per fare un algoritmo. Non è esattamente chiaro cosa succede ai numeri che vengono "tolti" da un'altra scatola se sono scambiati, se 0 è posto al suo posto, o se il numero è copiato. In questo esempio ho ipotizzato che il numero sia semplicemente copiato, ma la risposta a questo problema dipende da questo e non è menzionata.

    
risposta data 26.07.2013 - 18:31
fonte
0

passo | La mia soluzione

  1. 1 | 1 (nuova casella1)
  2. 2 | 1 + 7 = 8 (nuova casella1)
  3. 3 | aggiungi: BOX1 + (BOX3) = box1 {nessuna esecuzione necessaria, basta cambiare il istruzioni}
  4. 4 | 3 (box3) > 4 (numero nella casella 8) NO (torna al passo2)
  5. 2 | 8 + 2 = 10
  6. 3 | aggiungi: BOX1 + (BOX4) = box1 {nessuna esecuzione necessaria, basta cambiare il istruzioni}
  7. 4 | 4 > 4: NO (torna al passaggio 2)
  8. 2 | 10 + 1 = 11
  9. 3 | aggiungi: BOX1 + (BOX5) = box1 {nessuna esecuzione necessaria, basta cambiare il istruzioni}
  10. 4 | 5 > 4 SÌ

FINE dello LOOP. box 1 = 11

    
risposta data 25.01.2017 - 14:05
fonte

Leggi altre domande sui tag