Bonjour à tous, nouvelle énigme :
Lors de la mort d'un de ses parents, Henri va chez le notaire pour l'héritage dont il est le seul destinataire. Le notaire lui fait part du testament : "... à Henri qui adore les nombres, je lègue la plus petite somme en dollars telle que, si on la divise par 506, il reste 285 dollars; si on la divise par 2007, il reste 810 dollars; et enfin, si on la divise par 2898, il reste 9 dollars... et si Henri est capable de trouver le montant exact de cette somme en moins d'une demi-heure, elle est à lui, sinon cette somme sera à reverser à la communauté de l'île des mathématiques!" Soyez moins efficace qu'Henri (d'un point de vue temps ), mais donnez le montant de la somme qui lui est réservée.
Bonne chance à tous
La plus petite somme est : 1556235 dollars!
Trouvé en moins d'une demi-heure!
Merci pour cette énigme!
je trouve que le montant de l'héritage en Dollars est : 1 556 235 $
on a bien
1556235=506*3075+285
1556235=2007*775+810
1556235=2898*537+9
Bonjour,
après avoir attendu 1/2 heure, je trouve
1 556 235 dollars (en supposant bien sûr que la somme cherchée est positive !!)
je ne connais pas le cours de la bourse ni la valeur des monnaies étrangères alors après bien plus de 30 mns je pense qu'il a hérité de 0 dollard
La somme qui lui est réservée est 1 556 235 dollars
1556235=3075* 506+285
1556235= 775*2007+810
1556235= 537*2898+ 9
la plus "petite" somme que j'ai trouvée : 1 556 226 dollars
Bonjour
Réponse proposée : 1 556 235 $
Méthode proposée :
N=506a+285
N=2007b+810
N=2898c+9
(1)-(2)
a=1068+2007k
b=269+506k
(3)-(2)
b=131+322p
c=91+223p
269+506k=131+322p => 161p-253k=69
p=2+253q
k=1+161q
d'où
a=1068+2007k=1068+2007(1+161q)=3075+161*2007q
b=269+506k=269+506(1+161q)=775+506*161q
c=91+223p=91+223(2+253q)=537+223*253q
les plus petites valeurs sont pour q=0
a=3075
b=775
c=537
qui fournissent N=506*3075+285=2007*775+810=2898*537+9=1 556 235
Merci pour l'énigme (ou seuls benitoelputoamo et piepalm seraient gagnants )
Philoux
Nota : ne dit-on pas plutôt " légataire " que " destinataire " dans le cas d'un héritage ?
Ma réponse est 1556235 Dollars!
En effet,
1556235 = 3075 x 506 + 285
1556235 = 775 x 2007 + 810
1556235 = 537 x 2898 + 9
Merci
salut
J'ai trouvé que la plus petite somme possible était 26091
Merci pour cette énigme(assez rapide d'ailleurs)
A la prochaine
Bonjour,
Le montant de la somme qui lui est réservée est .
Il suffisait de résoudre
n=k1.506+285
n=k2.2007+810
n=k3.2898+9
<?
$i=0;
while($i%506!=285 or $i%2007!=810 or $i%2898!=9){
$i++;
}
echo $i;
?>
Le resultat obtenu est 1556235 dollars
Re-re-bonjour !
L'heritage d'Henri s'eleve à : 1556235 dollars
Bonjour
Le montant de la somme qui lui est réservée est
car
1 556 235=3075.506+285
1 556 235=775.2007+810
1 556 235=537.2898+9
A+
Salut, je trouve une somme de 1556235 dollars.
Je résous un système de congruences où n désigne la somme:
n285[506]
n810[2007]
n9[2898]
On voit facilement que n est divisible par 9 et on pose n = 9m, le système s'écrit:
3m = 95 + 506k, k
m = 90 + 223v, v
m = 1 + 322u, u
Je résous d'abord le système des deux dernières équations, d'où je déduis que:
322u -223v = 89
322 et 223 étant premiers entre eux, je trouve une solution particulière de l'équation de Bezout: 322u - 223v = 1 par l'algorithme d'Euclide:
322(-9)+13223 = 1
puis je multiplie par 89:
322(-801) - 223(-1157) = 89
322u - 223v = 89 équivaut à 322u - 223v = 322(-801) - 223(-1157)
322(u + 801) = 223(v + 1157)
Or, 322 et 223 sont premiers entre eux, en appliquant le théorème de Gauss, on obtient: u = 223p - 801 et v = 322p - 1157, p
D'où m = 322223p - 257921
On remplace m par la valeur obtenue dans la première équation du système:
3m = 95 + 506k
on obtient: 4683p - 11k = 16823.
En appliquant la même méthode que précedemment on trouve p = 11t - 67292, t, puis m = 789866t - 4832227273
Or n = 9m, on cherche n et n minimum, pour cela on prend m et minimum: , on trouve m = 172915 pour t = 6118, donc n =1556235.
Bonsoir,
sans détails (y'a une avalanche d'énigme ce soir...), on cherche a tel que:
je trouve .
Vérification:
Merci pour l'énigme.
Bonjour, il faudra me dire si c'est dur ou si c'est moi qui suis nulle....
je trouve 193 493 673 dollars en espérant qu'on ne puisse pas trouver moins.
merci pour l'énigme
Bonjour,
On a donc les égalités :
X = 506 a + 285
X = 2007 b + 810
X = 2898 c + 9
Je trouve ce que j'imagine être la plus petite solution pour a, b et c : 3075, 775, 537.
Ainsi, la valeur que doit trouver Henri est : 1 556 235 dollars.
Merci pour cette énigme.
Bonsoir,
A l'aide d'Excel, je trouve qu'Henri va toucher un sacré héritage, à savoir 1556235€.
Merci pour l'énigme.
Bonjour,
Faisant partie de ceux qui ne sont pas à la maison le mercredi pour garder les enfants, je découvre seulement les 3 nouvelles énigmes !
J'attaque donc par l'héritage (intérressé...)
Effectivement, Henri pouvait trouver en moins d'une demi-heure que le montant de la somme qui lui était réservée est
Pas mal !!
Merci et à bientôt, KiKo21.
Bonjour,
Voila voila je pense que la plus petite somme possible est de 1 556 235 dollars.
Merci pour l'enigme
A bientot
la réponse est:
1556235 dollars
j'ai trouvé ce résultat grâce à un petit programme sur scilab :
for i=1:1000
a=2898*i+9;
if pmodulo(a,2007)==810 then
if pmodulo(a,506)==285 then
a
end
end
end
merci pour cette enigme
Bonjour, ma réponse est (grâce au théorème de Bézout) que toute somme S (en dollars) corresondant à ces critères serait sous la forme S=7108794k-615271673259 où k tel que k86551. Cependant, le parent de Henri lui précise qu'il lui lègue la plus petite somme coorrespondant à ces critères, qui est donc S0=7108794*86551-615271673259 c'est-à-dire S0=1556235$ sauf erreur de ma part! ^^
Merci pour l'énigme!
Réponse: $ 1 556 235
Raisonnement:
Il faut donc qu'on trouve, avec x>0 et des quotients quelconques:
x=506*q1+285
x=2007*q2+810
x=2898*q3+9
Avec Bézout, on trouve déjà
506*(472*525)-2007*(119*525)=1*525
Donc q1= -472*525+2007*c
q2= -119*525+506*C
2898*q3-506*q1=276
divisé par 46 (pgcd)
63*q3-11*q1=6
Or 11*23-63*4=1
Donc finalement, comme avec Bézout
q1= -23*6+63*d
q3= -4*6+11*d
Et donc
-472*525+2007*c= -23*6+63*d
d'où
2007*c-63*d= 472*525-23*6
soit, et avec une dernière fois bézout,
223*c-7*d=27518
c= -1*27518 + 7*k
d= -32*27518+223*k
Donc x a pour valeurs possibles:
7108794*k-28071071271
La plus petite positive est 1556235
J'ai vu que tu étais interressé par VBA, alors voici comment j'ai procédé:
Sub heritage()
Line1:
For x = 506 To 2000000 'j'ai supposé que la fortune ne dépasserait pas cette somme
a = x Mod 506
b = x Mod 2007
c = x Mod 2898
'La fonction Mod est la fonction Modulo renvoyant le reste d'une division
If a = 285 Then GoTo Line2
GoTo Line5
Line2:
If b = 810 Then GoTo Line3
GoTo Line5
Line3:
If c = 9 Then GoTo Line4
GoTo Line5
Line4:
d = MsgBox("L'héritage s'élève a " & x, vbOKOnly, "Héritage")
GoTo Line6:
Line5:
Next x
Line6:
End Sub
Voila! A bientôt
Je pensais que le résultat était trop grand pour l'ami excel, eh bien pas du tout. J'avais la mauvaise formule, j'ai tapé =SI(B1=B2=B3;"yesss";"0") et excel n'a pas compris
Du coup je suis passée par des équations délirantes et je n'ai pas trouvé. Je viens de le refaire avec la bonne formule en 10 minutes. J'aime mieux ça, j'ai cru que mon joujou avait atteint ses limites
Merci chaudrack, c'était effectivement ce qui m'a motivée. Je vais aussi étudier la soluce de Philoux, car c'est là que je me suis plantée
chaudrack, pour simplifier un peu ton programme,
au lieu d'écrire :
if a = 285 Then GoTo Line2
GoTo Line5
tu pourrais écrire directement :
if a <> 285 Then goto line5
Idem pour b et c et tu peux alors enlever les line2, line3 et line4
borneo, c'est vrai que si tu aimes bien jouer avec excel, c'est encore mieux avec VBA.
Eureka ! J'ai tapé le texte de chaudrack (sans les commentaires explicatifs ) dans la boîte de dialogue de visual basic, j'ai fait "macro exécuter" et 7 secondes plus tard, j'avais une charmante petite boîte de dialogue qui me disait 1556235 et qui me demandait OK
Alors là, c'est encore plus extraordinaire que je l'imaginais
Il me reste à apprendre le langage, mais je pense que ça va aller. Je vais tester des calculs que j'ai déjà fait savec excel. Merci beaucoup chaudrack, je ne voyais pas du tout ça comme ça. Rien de tel qu'un exemple pour voir les choses
Bonjour jugo,chaudrack,
en typant les variables, on a:
Sub heritage()
dim x as long,a as integer,b as integer, c as integer
For x = 506 To 2000000
a = x Mod 506
b = x Mod 2007
c = x Mod 2898
If ((a = 285) and (b = 810) and (c = 9)) Then
d = MsgBox("L'héritage s'élève a " & x, vbOKOnly, "Héritage")
exit for
endif
Next x
end Sub
J'étais parti de la structure de chaudrack, mais pour faire encore plus simple, on peut écrire :
Sub heritage()
Dim x As Long, a As Integer, b As Integer, c As Integer
x = 506
Do Until a = 285 And b = 810 And c = 9
a = x Mod 506
b = x Mod 2007
c = x Mod 2898
x = x + 1
Loop
MsgBox "L'héritage s'élève à " & x & " dollars."
End Sub
( quand je vois comme c'était simple et comme je me suis pris la tête dans les calculs, j'aurais du la programmer celle-là, au moins pour vérifier ... )
ON NE DIT PAS "Je m'a trompé" mais je m'a trompété!
--------------------------------------------------------
La structure do ... loop est plus "jolie" que for exit for next
mais nettement plus dangereuse !. On risque de boucler si on n'a pas réfléchi à la condition.
En DOS, la parade est de placer une scrutation du clavier dans la boucle.
ex:
y$=inkey$: if y$=chr$(27) then end
(27 est le code ascii de ESCAPE).
------------------------------
Pq x-1?
L'énoncé était :For x = 506 To 2000000
Pq x-1?
> Tel qu'il est, le programme donne 1556236.
Donc soit on prend x-1 = 1556235, soit on place le x=x+1 avant le calcul des Mod pour pas que x soit incrémenté une fois de trop quand on sort de la boucle.
Désolé,
Je n'avais pas remarqué que le
MsgBox "L'héritage s'élève à " & x & " dollars."
était après le loop.
Bad day,today!
Moi je maitrise pas autant que vous on dirait.. Seulement les rudiments de VBA
Merci quand-même pour l'info a <> 2 jugo, ça j'ai compris.
Pour le reste, c'est du loop...ing sans ceinture.
A plus
Est-ce que quelqu'un (ou quelqu'une ) pourrait poster (ou eventuellement envoyer en PV si trop lourd) la résolution par Excel ? Merci.
Estelle
Salut Estelle, je vais t'envoyer mon fichier, mais pour l'obtenir, j'ai d'abord fait groupes de calculs avec les calculs suivants :
1e groupe de 2 colonnes :
1e colonne avec les nombres de 1 à 10000
2e colonne à droite avec le calcul = la cellule de gauche*506 + 285
2e groupe avec la même chose et le calcul = la cellule de gauche*2898 + 9
3e groupe id avec = la cellule de gauche*2007 + 810
ensuite on coupe et on colle les trois groupes l'un au dessus de l'autre et on trie selon la colonne de droite. Puis on copie dans la colonne sur le côté droit la formule qui dit "yesss" quand trois cellules successives ont la même valeur.
Ouf, ça a l'air long, mais si on ne fait pas d'erreur, ça prend 15 minutes
J'avais fait la même chose pour les groupes, mais je m'étais arrêtée à "on coupe et on colle" (d'ailleurs, je n'ai pas bien saisi cette partie là, mais j'attends ton fichier pour visualiser tout ça).
Merci.
Estelle
Estelle,
En gardant la méthode de borneo, on peut laisser le problème sur les colonnes :
Si on note "n" le nombre cherché et :
n = 506 a + 285
n = 2898 b + 9
n = 2007 c + 810
On peut alors écrire a et c en fonction de b, puis faire varier b.
( On prend b parce qu'il a le plus gros multiplicateur et qu'on devrait donc arriver plus vite à la solution ) :
a = ( 2898b + 9-285 ) / 506
c = ( 2898b + 9-810 ) / 2007
Et on peut alors reprendre le même type de tableau et on vérifie sur la dernière colonne que a et c sont des entiers.
On peut ensuite copier la dernière ligne jusqu'à trouver une solution.
Là, il fallait quand même aller jusqu'à le ligne 537.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :