Calcul complexe en fonction de 3 paramètres

Résolu
David987 Messages postés 120 Date d'inscription   Statut Membre Dernière intervention   -  
David987 Messages postés 120 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je viens vous voir car, j'aimerais bien faire un truc du genre :

(je nomme variable 1 = A, variable 2 = 2 et variable 3 = 3)

Sachant que variable 1 augmente de 1 donc au début elle vaut 1, ensuite 2, 3, 4...etc.
Sachant que variable 2 vaut toujours 2
Sachant que variable 3 vaut toujours 3

J'aimerais à partir de là, trouver une formule ou une boucle ou autre que le système calcul tous les résultats jusqu'à ce que variable 1 atteigne 100 (inclus).

Et ci-possible qu'il additionne en même temps tous les résultats

Merci pour votre aide.
A voir également:

3 réponses

spylller Messages postés 395 Date d'inscription   Statut Membre Dernière intervention   28
 
Bonjour,
Si j'ai à peut près compris ? :
$var2 = 2;
$var3 = 3;
$calcul = 0;
$resultat_addition = 0;

for ($var1 = 1; $var1 <= 100; $var1++) {
    
    $calcul = $var1 + $var2 * $var3;
    $resultat_addition +=  $calcul;
}

echo $resultat_addition;




Have a nice day
0
spylller Messages postés 395 Date d'inscription   Statut Membre Dernière intervention   28
 
On a deux variables (var2 et var3) qui sont toujours les memes, et la variable $resultat_addition qui est au final égal à l’addition des 100 calcules comprenant $var1 qui est à chaque fois different.
Je sais pas si c'est vraiment ca la question ^^
(j'ai fait un calcul au pif biensur, ne sachant pas lequel il fallait)
0
lost6
 
Oui car moi non plus je n'ai rien compris. Il n'y a qu'un seul paramètre puisque au final variable 2 et 3 ne changent jamais et sont toujours égal à 5, donc pourquoi deux variables 2 et 3 qui ne changent pas ? Donc il faudrait calculer Résultat = VAR1 + 5 pour VAR1 compris entre 0 et 100.
0
David987 Messages postés 120 Date d'inscription   Statut Membre Dernière intervention   1
 
Désolé, mon ordi à dû beugué car, le message n'est pas complet.

Bon finalement, j'ai trouvé un petit moyen pour commencer :

<?php
echo 'Calcul total de l\'xp pour un pokemon au level 100';

while ($NivPok <= 100)
{
 $ExpMax = 1059860;
 $ChiffreFixe = 10000;
 $Gain1 = $ExpMax * $NivPok / $ChiffreFixe;
 $Expgain =  number_format($Gain1, 0, '.', '');
 ?>Gain pour le niveau <?php echo $NivPok; ?> : <?php echo $Expgain;?><br /><?php
 $res += $Expgain;
 ?>
 L'xp cumulé est <?php echo $res; ?>
 <?php
 $NivPok++;
}
?>


Donc ce code m'affiche un nombre pour chaque niveau (donc la variable qui change de 1 à 100)

la variable $res m'affiche l'xp cumulé.

Et moi, maintenant j'aimerais afficher directement la sommes des $Expgain qui est retourné.

Avez-vous une idée ?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
bonjour, si je comprends bien, ton code t'affiche, pour chaque niveau, le gain du niveau et le gain cumulé.
est-ce bien ce qui se passe? les nombres sont-ils corrects?
que souhaites-tu de différent?
si jamais tu souhaites avoir uniquement le gain cumulé final:
<?php
echo 'Calcul total de l\'xp pour un pokemon au level 100';

 $ExpMax = 1059860;
 $ChiffreFixe = 10000;
while ($NivPok <= 100)
{
   $res += $ExpMax * $NivPok / $ChiffreFixe;
  $NivPok++;
}
?>
echo " L'xp cumulé est " . $res;
?>
0
spylller Messages postés 395 Date d'inscription   Statut Membre Dernière intervention   28 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Je pense qu'il serait préférable d'utiliser une boucle "for". Enfin même si ca marche bien là.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > spylller Messages postés 395 Date d'inscription   Statut Membre Dernière intervention  
 
j'aurais aussi fait avec for plutôt que while, cela me semble plus lisible.
j'ai préféré changer le moins possible au code préparé par David987, pour que ce soit lisible pour lui.
0
David987 Messages postés 120 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour,

Tout d'abord, désolé du retard de réponse mais le boulot est énorme en ce moment donc pas trop le temps.

Je vous remercie pour votre aide et finalement je me suis stoppé à mon code de base avec l'xp par niveau + cumulé ce qui me donnais bien mieux que ce que j’espérais.

En tous cas, merci à vous.
0