Aller au contenu
  • 0
Zeus

Opérations: la totale !

Énigmes

(X + Y) + (X - Y) + (X * Y) + (X / Y) = 450
avec X - Y > 0 ; X > 0 et Y > 0  
 
Trouvez deux entiers possibles.

Partager ce message


Lien à poster
Partager sur d’autres sites

14 réponses à cette énigme

Messages recommandés

  • 0

X=28 Y=14

Oui !

 

X = 28, Y = 14

ou

X = 72, Y = 4

Oui !

 

Y a-t-il une autre solution ? ...

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Oups j'étais pas allé assez loin

 

#include <stdio.h>
int main(void)
{
int X=0, Y = 0;
for(X = 0; X<10000; X++)
{
        for(Y = 0; Y<10000; Y++)
        {
            if(2*X*Y  + (X*Y*Y) + (X) == 450*Y)
            {
             printf("X = %d, Y=%d \n", X, Y);
            }
        }
}
return 0;
}
 

X = 28, Y=14

X = 72, Y=4

X = 100, Y=2

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Oups j'étais pas allé assez loin

 

#include <stdio.h>
int main(void)
{
int X=0, Y = 0;
for(X = 0; X<10000; X++)
{
        for(Y = 0; Y<10000; Y++)
        {
            if(2*X*Y  + (X*Y*Y) + (X) == 450*Y)
            {
             printf("X = %d, Y=%d \n", X, Y);
            }
        }
}
return 0;
}
 

X = 28, Y=14

X = 72, Y=4

X = 100, Y=2

 

Ah que c'est bien de savoir coder !

 

Bonne réponse complète de godzi !

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bon brutalement, surement comme godzi :siffle: Je trouve 3 solutions avec X et Y [1;10000] :red:
ça a tourné "un moment" pour rien, les solutions étaient au début... je pense qu'on peut rapidement borner la chose mais je n'ai pas pris le temps de chercher comment
 
Bref... seul le résultat compte :mrgreen:
 

Debut
-----
Solution trouvee: X = 100 et Y = 2
Solution trouvee: X = 72 et Y = 4
Solution trouvee: X = 28 et Y = 14
-------------------------------
Temps d'execution en secondes : 13
Fin



 
Et le code pour les curieux:
 

my $time=time;
print "Debut\n-----\n";

my $X, $Y;

for ($Y = 1; $Y < 10000; $Y++) {
   for ($X = $Y+1; $X < 10000; $X++) {
      if(($X + $Y) + ($X - $Y) + ($X * $Y) + ($X / $Y) == 450)
      {
         print "Solution trouvee: X = $X et Y = $Y\n";
      }
   }
}


$time=time-$time;
print "-------------------------------\n";
print "Temps d'execution en secondes : ", $time, "\n";
print "Fin\n";
<STDIN>;

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

godzi aurait pu optimiser le code an faisant varier Y de X à 10000 et non de 0 à 10000 :red:

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bon brutalement, surement comme godzi :siffle: Je trouve 3 solutions avec X et Y [1;10000] :red:

ça a tourné "un moment" pour rien, les solutions étaient au début... je pense qu'on peut rapidement borner la chose mais je n'ai pas pris le temps de chercher comment

 

Bref... seul le résultat compte :mrgreen:

De toute facon, vu que tu as un produit X*Y et que X>Y positifs, tu pouvais borner à 450

(X + Y) > 1

(X - Y) > 0

(X / Y) > 1

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

 

3 solutions : 

 

post-402-0-01989500-1420537986.jpg

 

VBA :

For i = 1 To 500 Step 1
For j = 1 To i Step 1
 
If (2 * i + (i * j) + (i / j) = 450) Then
ActiveCell = i
ActiveCell.Offset(0, 1).Select
ActiveCell = j
ActiveCell.Offset(1, -1).Select
End If
 
Next j
Next i

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

2X+X(Y+1/Y) = 450


X(2+Y+1/Y) = 450
X/Y*(Y²+2Y+1) =450
X/Y*(Y+1)²=450
or Y est premier avec (Y+1)² donc Y divise X et Y/X entier
On pose A=Y/X et B=Y+1 (A et B entiers supérieurs à 1)
450= 2*5*5*3*3 = A*B²
on n'a pas tellement le choix :
Y+1=3 => Y=2 et X=100
ou
Y+1=5 => Y=4 et X=72
ou
Y+1=15 => Y=14 et X=28
et il n'y en a pas d'autres (sauf erreur de raisonnement).

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Deux nouvelles bonnes réponses !

La solution plus humaine de ribi a ma préférence. :)

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Je suis entièrement d'accord :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...

Information importante

En utilisant ce site, vous acceptez notre Politique de confidentialité et nos Conditions d’utilisation
Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.