Calcul complexe en fonction de 3 paramètres

Résolu/Fermé
David987 Messages postés 121 Date d'inscription samedi 19 décembre 2015 Statut Membre Dernière intervention 16 octobre 2022 - 1 oct. 2017 à 14:23
David987 Messages postés 121 Date d'inscription samedi 19 décembre 2015 Statut Membre Dernière intervention 16 octobre 2022 - 4 oct. 2017 à 21:17
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 dimanche 1 mars 2015 Statut Membre Dernière intervention 11 juillet 2019 28
Modifié le 1 oct. 2017 à 14:30
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 dimanche 1 mars 2015 Statut Membre Dernière intervention 11 juillet 2019 28
Modifié le 1 oct. 2017 à 14:32
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
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 121 Date d'inscription samedi 19 décembre 2015 Statut Membre Dernière intervention 16 octobre 2022 1
Modifié le 1 oct. 2017 à 15:26
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 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
1 oct. 2017 à 16:28
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 dimanche 1 mars 2015 Statut Membre Dernière intervention 11 juillet 2019 28 > yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024
Modifié le 2 oct. 2017 à 13:01
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 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > spylller Messages postés 395 Date d'inscription dimanche 1 mars 2015 Statut Membre Dernière intervention 11 juillet 2019
2 oct. 2017 à 16:34
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 121 Date d'inscription samedi 19 décembre 2015 Statut Membre Dernière intervention 16 octobre 2022 1
4 oct. 2017 à 21:17
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