Conta quantità di punti per le opzioni XY (nel sondaggio) dove le opzioni non hanno la stessa quantità di punti

0

Ho un codice in cui voglio evitare di usare un ciclo for / each per contare la quantità di punti che le opzioni nel sondaggio hanno insieme. La ragione è che ogni opzione ha diverse quantità di punti e voglio ottenere il numero di voti contando le opzioni ei punti che hanno insieme e poi dividendo i punti totali (voti) per quei punti ...

Ho una lista di opzioni in cui ogni opzione ha una diversa quantità di punti. Penso che sia più facile da capire:

  • Opzione 1 = 7 punti
  • Opzione 2 = 6 punti
  • Opzione 3 = 5 punti
  • Opzione 4 = 4 punti
  • Opzione 5 = 3 punti
  • Opzione 6 = 2 punti
  • Opzione 7 = 1 punto

C'è un modo matematico facile per ottenere il numero di punti (in questo caso 28 ) senza utilizzare:

$options = array("lala", "lalala", "flflf", "qddwq", "adslalsd", "wqdqowdq", "acaca");
$points = 0; $i = 1;
foreach($options as $option){
    $points = $points + $i;
    $i++;
}
echo $points;

o

$points = 0;
$options_num = 7;

for ($i=1; $i <= $options_num; $i++){
      $points = $points + $i;
}
echo $points;

Voglio solo fare il minor carico possibile sul server, soprattutto quando gli utenti non saranno limitati con la quantità di opzioni che possono inserire e sono sicuro che ci sarà una matematica semplice da usare, ma io Non lo capisco.

    
posta MiChAeLoKGB 05.06.2015 - 16:09
fonte

1 risposta

1

La somma

7 + 6 + 5 + 4 + 3 + 2 + 1 = 28

Corrisponde a un numero triangolare del modulo

(n * (n + 1)) / 2

vale a dire. (7 * (7 + 1) / 2 = 28.

    
risposta data 05.06.2015 - 17:09
fonte

Leggi altre domande sui tag