Problème calcule PHP "utiliser soustraction a la place division"

Résolu/Fermé
Signaler
Messages postés
19
Date d'inscription
jeudi 18 juin 2015
Statut
Membre
Dernière intervention
1 juillet 2015
-
Messages postés
19
Date d'inscription
jeudi 18 juin 2015
Statut
Membre
Dernière intervention
1 juillet 2015
-
Bonjour,

j'au un devoir a faire "algorithme", mais j'ai des difficultés, par rapport calcule que je dois faire. Par exemple 10/3 je dois faire a la place de division je dois utiliser soustraction. Voici mon code PHP que je vous propose. (J'ai pas besoin que vous fassiez mon devoir a ma place, je besoin des explication, et solution).

1er solution
$nbr1 = 10;
$nbr2 = 3;

$result1 = $nbr1 - $nbr2;//10-3=7
$resultFinal = $nbr1 - $result1;//10-7=3
echo $resultFinal;//3

le résultat marche très bien, mais avec 10/4 ça marche plus.

2ème solution
$nbr1 = 10;
$nbr2 = 3;

if($nbr2 == 1 || $nbr2 == 3 || $nbr2 == 5 || $nbr2 == 7 || $nbr2 == 9 || $nbr2 == 11 || $nbr2 == 13 || $nbr2 == 15 || $nbr2 == 17 || $nbr2 == 19 || $nbr2 == 21){
$r1 = $nbr1 - $nbr2; //10-3=7
$r2 = $nbr1 - $r1; //10-7=3
}else{// pour la division 10/4
$r1 = $nbr1 - $nbr2; //10-4=6
$r2 = $r1 - $nbr2; //6-4=2
}

echo $r2;

la ça marche aussi très bien, mais $nbr2 == 1 || $nbr2 == 3 ||..... non pas bien a mon avis.


Qu'est ce que vous en pensez, a votre avis 2ème solution es'il bon ?

Merci et désoler pour les fautes d'orthographe.

2 réponses

Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
23
Bonjour,

Quand vous dites que ça ne marche pas pour le couple (10,4), c'est parce que vous souhaitez obtenir le quotient de la division euclidienne de 10 par 4?? Que souhaitez-vous obtenir? le pgcd?

NB:
Il faut être clair, pour les autres, mais aussi pour soit, on s'en sort mieux en posant les choses : j'ai ça et je veux obtenir ça !

Cordialement,

hharchi9.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
23
Pour tester simplement si un nombre est pair ou impair, il suffit d'utiliser la relation $nombre%2 qui retourne 1 si impair, 0 sinon.
Messages postés
19
Date d'inscription
jeudi 18 juin 2015
Statut
Membre
Dernière intervention
1 juillet 2015

SUPER, merci beaucoup, et une dernier question, comment on peut avoir le reste?

if($nbr2%2){
	$r1 = $nbr1 - $nbr2; //7
	$resultat = $nbr1 - $r1; //4
}else{
	$r1 = $nbr1 - $nbr2; //6
	$resultat = $r1 - $nbr2; //4
}


Merci encore
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
23
Puisque tu as le quotient, il te suffit de faire
$nombre_depart1 - $quotient*$nombre_depart2)
Messages postés
19
Date d'inscription
jeudi 18 juin 2015
Statut
Membre
Dernière intervention
1 juillet 2015

Non, ça marche pas, je essayé 100 / 8

le résultat au lieu de 12 ,5 il affiche 84.

if($nbr2%2){
	$r1 = $nbr1 - $nbr2; //7
	$resultat = $nbr1 - $r1; //4
}else{
	$r1 = $nbr1 - $nbr2; //6
	$resultat = $r1 - $nbr2; //4
}

echo $resultat;
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
23
Oui ta méthode ne marche pas du tout en fait, elle ne te renvoie ni le quotient ni le reste...

Quelle est ta consigne, es-tu forcé d'utiliser les soustractions ?
Messages postés
19
Date d'inscription
jeudi 18 juin 2015
Statut
Membre
Dernière intervention
1 juillet 2015

Je voulais faire cet exercice, mais impossible.
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
23
De rien,

Bonne continuation !
Messages postés
19
Date d'inscription
jeudi 18 juin 2015
Statut
Membre
Dernière intervention
1 juillet 2015

Merci, :)
Messages postés
19
Date d'inscription
jeudi 18 juin 2015
Statut
Membre
Dernière intervention
1 juillet 2015

Bonjour, voici le solution que je trouvé, j'espère que ça marche, parce que je bien essayé, toute marche bien. :)

$dividende = 23;
$diviseur = 7;

$quotient = 0;
while($dividende >= $diviseur){
	
	$dividende = $dividende - $diviseur;	
	$quotient++;
	
}

echo 'quotient '.$quotient;
echo '<br/>';
echo 'reste '.$dividende;


Merci
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
23
C'est bien ça, en effet, vous pouvez faire des tests avec plusieurs valeurs et vérifier à la calculatrice :)
Messages postés
19
Date d'inscription
jeudi 18 juin 2015
Statut
Membre
Dernière intervention
1 juillet 2015

Oui je bien vérifié, chez moi ça marche bien :)
Merci encore.

Bonne journée