Calcul complexe en fonction de 3 paramètres [Résolu]

David987 11 Messages postés samedi 19 décembre 2015Date d'inscription 27 novembre 2017 Dernière intervention - 1 oct. 2017 à 14:23 - Dernière réponse : David987 11 Messages postés samedi 19 décembre 2015Date d'inscription 27 novembre 2017 Dernière intervention
- 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.
Afficher la suite 
11Messages postés samedi 19 décembre 2015Date d'inscription 27 novembre 2017 Dernière intervention

8 réponses

Répondre au sujet
spylller 331 Messages postés dimanche 1 mars 2015Date d'inscription 8 décembre 2017 Dernière intervention - Modifié par spylller le 1/10/2017 à 14:30
0
Utile
2
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
spylller 331 Messages postés dimanche 1 mars 2015Date d'inscription 8 décembre 2017 Dernière intervention - 1 oct. 2017 à 14:31
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)
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.
Commenter la réponse de spylller
David987 11 Messages postés samedi 19 décembre 2015Date d'inscription 27 novembre 2017 Dernière intervention - Modifié par David987 le 1/10/2017 à 15:26
0
Utile
3
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 ?
yg_be 4109 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 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;
?>
spylller 331 Messages postés dimanche 1 mars 2015Date d'inscription 8 décembre 2017 Dernière intervention > yg_be 4109 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 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à.
yg_be 4109 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention > spylller 331 Messages postés dimanche 1 mars 2015Date d'inscription 8 décembre 2017 Dernière intervention - 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.
Commenter la réponse de David987
David987 11 Messages postés samedi 19 décembre 2015Date d'inscription 27 novembre 2017 Dernière intervention - 4 oct. 2017 à 21:17
0
Utile
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.
Commenter la réponse de David987