Qual è la giustificazione per il tempo di esecuzione di questo ciclo?

0

Non capisco perché il tempo di esecuzione del ciclo seguente sia n + 2? Anche perché il tempo di esecuzione delle istruzioni all'interno del ciclo è n + 1?

Double test(int n){  
      int sum=0;  -> 1 time
      int i;  -> 0 time
      for(i=0; i<=n;i++)  -> n+2 times
      {
        scanf("%d",&a);  -> n+1 times
        sum=sum+a;  -> n+1 times
      }
      return sum;  -> 1 time
    }
    
posta Altaïr 20.11.2014 - 03:12
fonte

1 risposta

2

Il corpo del ciclo che hai scritto è inserito n+1 volte ( i da 0 a n ), dopo di che la variabile i è incrementata di nuovo, il suo valore ora diventa n+1 . Quindi viene confrontato con n ( i <= n ), questo test fallisce e il corpo del ciclo viene saltato.

    
risposta data 20.11.2014 - 03:26
fonte

Leggi altre domande sui tag