La Question radicale Du Dimanche matin carré

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3405
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: La Question radicale Du Dimanche matin carré

Message par C.Ret »

Bonjour Yves...

Pas de souci, ce type de questions peut être déplacées dans le Bistro ?!

Depuis des années, les QDD sont dans la rubrique "Tous les Pockets" car elles sont intentionnellement construites pour être funs à résoudre avec nos vieilleries...

Ce n'est qu'aujourd'hui que tu t'en rends compte ?

P.S.: je n'ai pas compris de quels types de microphones tu parles dans ton post ?
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Avatar du membre
Ythunder
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4549
Enregistré le : 09 août 2008 17:46
Localisation : 03

Re: La Question radicale Du Dimanche matin carré

Message par Ythunder »

C.Ret a écrit : 26 sept. 2021 09:44 Ce n'est qu'aujourd'hui que tu t'en rends compte ?
Pas du tout, puisque c'est récurrent mais on ne peut pas intervenir sur le nombre tellement il y en a, et des discussions sur le sujet ont déjà eu lieu..
Perso ce qui m'intéressent plus bien que ce ne soit pas du tout mon domaine (les pockets), c'est à ce moment là les limites technique d'une machine qui seraiet mise dans le post (genre une instruction super répandue qui ne serait pas implantée, et ce que ça engendrerait pour contourner le soucis technique. Bon ce sont des maths alors je doute qu'une fonction courante soit manquante sur un des pockets..).
Quand je lis ça "oui des passionnées qui modifie des machines pour en faire des moutons a 5 pattes qui n'ont plus rien a voir avec la machine d'origine afin de faire la video choc sur youtube..."

Ca me fait rire. Perso, je n'ai ni chaine youtube sur les machines et je n'ai aucun mouton à 5 pattes qui n'a pàlus rien a voir avec des machines d'origine. Mais à qui s'adressait on ?
Avatar du membre
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6172
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: La Question radicale Du Dimanche matin carré

Message par Marge »

:lol:
3 hommes, 3 demis, un 3a... Magnéto, Serge !

Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67
__: A L I E N .

« Boris », c'était juste Maurice enrhumé.
casuffitdeschanel
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 650
Enregistré le : 21 sept. 2009 21:56
Localisation : Metz

Re: La Question radicale Du Dimanche matin carré

Message par casuffitdeschanel »

Bon allez j'ai bien aime ce probleme... pour une fois que je trouve la reponse...

Il faut trouver le plus petit entier n non nul tel que
S = √(100 - √n) + √(100 + √n) soit un entiet


a) Considerons d'abord l'expression S soit la somme de deux expressions entieres, c'est a dire que 100 - √n et 100 + √n sont des carres.

100 - √n est un carre entre 1 et 100, c'est a dire 1, 4, 9, 16, 25, 36, 49, 64 ou 81
Respectivement √n vaut alors 99, 96, 91, 84, 75, 64, 51, 36 ou 9 et 100 + √n vaut alors 199, 196, 191, 184, 175, 164, 151, 136 ou 109.

La seule valeur de √n pour laquelle 100 - √n et 100 + √n sont carres est √n = 96.

On a alors S = √(100 - √n) + √(100 + √n) = S = √(100 - 96) + √(100 + 96) = S = 2 + 14 = 16.

Soit S0 cette valeur, S0=16.

b) Elevons l'expression S au carre

S² = (√(100 - √n) + √(100 + √n))²
= 100 - √n + 100 + √n + 2(√(100 - √n) √(100 + √n))
= 200 + 2√((100 - √n)(100 + √n))
= 200 + 2√(10000 - n)

La valeur minimale de S² est pour n=0, S² = 200 + 2√(10000) = 200 + 200 = 400.

Pour n=0, on aura S = 20, appellons cette valeur S1=20.

Puisque n est non nul, le plus petit entier qui verifie la condition est compris entre 0 et 96² (voir S0) et superieur a 0 (voir S1), donc S est compris entre 16 et 19.

Pour S=17, on a 17² = 289 = 200 + 2√(10000 - n) donc √(10000 - n) = 89/2, ou encore n = 10000 - (89/2)², qui n'est pas entier.

De la meme facon, pour S=19, on trouve n= 10000 -(161/2)², pas entier non plus.

En revanche pour S=18, on a n = 10000 - (124/2)² = 10000 - 3844 = 6156, donc n=6156 est le plus petit entier qui remplit la condition.

Et voilà....
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3405
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: La Question radicale Du Dimanche matin carré

Message par C.Ret »

casuffitdeschanel a écrit : 11 oct. 2021 21:43Bon allez j'ai bien aime ce probleme... pour une fois que je trouve la reponse...
[...]
En revanche pour S=18, on a n = 10000 - (124/2)² = 10000 - 3844 = 6156, donc n=6156 est le plus petit entier qui remplit la condition.
Bien joué, c'est effectivement la bonne réponse; le plus petit entier strictement positif produisant S(n)=√(100-√n)+√(100+√n) entier est bel et bien n=6156

1°) Recherchons le plus petit entier p strictement positif tel que S(p) soit entier ?


Pour cela, étudions un peu la fonction S(x) qui à tout nombre x, non nécessairement entier, associe la valeur S(x)=√(100-√x)+√(100+√x).

Cette fonction S(x) produit une valeur réelle à condition que toutes les arguments de ses radicaux soient tous positifs ou nuls.
Les radicaux sont respectivement √x, √(100-√x) et √(100+√x)

Pour que √x soit définit, il faut x ≥ 0.
Ensuite √(100-√x) est définit, lorsque 100-√x ≥ 0 c'est à dire que 100 ≥ √x soit x ≤ 10⁴
Enfin √(100+√x) est définit pour tous 0 ≤ x.

Donc, S(x) est définit pour tous 0 ≤ x ≤ 10⁴. C'est à dire pour toutes valeurs non nécessairement entières comprises entre 0 et 10000. Ce qui donnera l'intervalle à parcourir pour une éventuelle recherche par force brute.

Malheureusement, je ne possède pas de calculette capable de faire cette recherche sur un intervalle aussi étendu en un temps raisonnable. En fait si j'en ai au moins une, mais je vais faire comme si je l'avais oubliée !
Schraf a écrit : 23 sept. 2021 17:42

Code : Tout sélectionner

from math import sqrt
for n in range(10000):
  rac = sqrt(n + 1)
  s = sqrt(100 - rac) + sqrt(100 + rac)
  if s - int(s) < 1e-4: print(n + 1,s)
Au moins ici Schraf n'a pas oublié qu'il pouvait le faire avec sa Numworks(tm). Et surtout, il n'a pas hésité à utiliser une incertitude de 1/10⁴ pour être sûr de ne pas être gêné par les erreur d'arrondi de son engin.

Pour ma part, il me faut circonscrire un peu le domaine de recherche. Nous cherchons le plus petit argument de S(x) donnant une valeur S(x) entière. Mais je ne vois pas trop comment varie S(x) en fonction de x. Quel est le sens de variation de S(x) lorsque x croît ?

Pour x=0, S(x) = S(0) = √(100-0) + √(100+0) = 2.√100 = 2*10 = 20.
Pour x=10⁴, S(10⁴) = √(100-√10000) + √(100+√10000) = √(100-100) + √(100+100) = √0 + √200 = 10.√2 ~ 14,14214

Il semble donc que S(x) décroît globalement lorsque x croît.

Pour faire cela, le plus habile est de calculer l'expression de S²(x) :
S²(x) = ( √(100-√x) + √(100+√x) )² = ( A + B )² = A² + 2.A.B + B² avec A=√(100-√x) et B=√(100+√x)
On a donc,
A² = 100-√x
B² = 100+√x
AB = √(100-√x).√(100+√x) = √( (100-√x).(100+√x) ) = √( 10⁴ + 100.√x - 100.√x - x ) = √(10⁴ - x)

On trouve donc S²(x) = 100-√x + 2√(10⁴-x) + 100+√x = 200 + 2√(10⁴-x)
Posons K(x)=100+√(10⁴-x), K(x) décroit lorsque x croît.
On a alors S²(x) = 2*K(x)

Donc S²(x) décroit lorsque x croît, ce qui signifie que S(x) décroit aussi lorsque x croît.

Par ailleurs, si K(x) est un entier k, alors S²(x)=2.K(x) = 2.k est également un entier pair.

Or seuls les carrés d'entiers pairs sont pair, donc non seulement S(x) décroit lorsque x croît, mais de plus, seules les valeurs paires de S(x) peuvent être entières c'est à dire 20, 18 ou 16.

On a vu que S(0) = 20, le plus petit entier strictement positif p recherché sera donc tel que S(p) = 18 premier entier pair inférieur à 20.

Donc, au point p, on a S(p) = 18.
On a donc au point p : S²(p) = 18² = 2.K(p) avec K(p)=100+√(10⁴-p)

On recherche donc p tels que 18²/2 = 100+√(10⁴-p) soit p = 10⁴-(18²/2-100)² = 6156

Vérifions :
S(6156) = √(100-√6156) + √(100+√6156)
notons que n = 6156 = 19*18²

d'où √6156 = √(19*18²) = 18.√19 mince ce n'et pas une valeur entière, loin de là !!

Comment S(6156)=√(100-√6156) + √(100+√6156) peut-il être une valeur entière alors que √6156 = 18.√19 n'est pas (et de loin) une valeur entière ??

Pourtant il l'est: la solution à cette question dans le MPO n°104



2°) Recherchons le plus grand entier n strictement négatif tel que S(n) soit entier ?


Nous avons vu que S(x) n'a pas de valeur réelle pour les x négatifs. Pourtant, il y a bien une solution.

En effet, on a S²(x) = 2.K(x) avec K(x) = 100+√(10⁴-x)
Or K(x) admet une valeur réelle pour tout x tels que 10⁴-x ≥ 0 soit pour tout x ≤ 10⁴

Donc la relation S²(x) = 2.K(x) = 2.(100+√(10⁴-x)) est valable pour les x négatifs et donc S(x) croît lorsque x décroit.
Et donc pour les x négatifs, S(x) sera plus grand que S(0) c'est à dire plus grand que 20.

Et comme pour la partie des x positifs, seules les valeurs paires de S(x) peuvent être entières.

Donc, le plus grand entier n strictement négatif recherché sera tel que S(n)=22, premier entier pair supérieur à 20.

Au point n on a : S²(n) = 22² = 2.K(n)
D'où 22² = 2.(100+√(10⁴-n)) soit n = 10⁴-(22²/2-100)² = -10164

Notons que n = -10164 = -21*22² d'où √n = √(-10164) = i√(21*22²) = 22.i.√21
Vérifions :
S(-10164) = √(100-√(-10164)) + √(100+√(-10164)) = √(100-22i√21) + √(100+22i√21)

Comment S(-10164)=√(100-22i√21) + √(100+22i√21) peut-il être une valeur entière alors que √-10164 = 22.i.√21 n'est pas (et de loin) une valeur entière ??

Pourtant il l'est: la solution à cette question dans le MPO n°104
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Avatar du membre
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 499
Enregistré le : 05 mars 2020 20:45
Contact :

Re: La Question radicale Du Dimanche matin carré

Message par Schraf »

Je n'avais pas pensé à représenter graphiquement la fonction, ça permettait effectivement de voir qu'elle était décroissante, que les valeurs à atteindre étaient entre 20 et 14 et donc pas beaucoup de possibilités...
Graphe
Graphe
14.png (8.25 Kio) Vu 2890 fois
Zoom
Zoom
18.png (7.87 Kio) Vu 2890 fois
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3405
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: La Question radicale Du Dimanche matin carré

Message par C.Ret »

Je me rends compte que je n'ai pas donné la façon que j'avais utiliser pour résoudre ce problème avec mon HP-15C !

Je vous invite d'ailleurs à faire comme moi et à nous communiquer vos méthodes !
Il doit y avoir plus direct ou plus astucieux ...


Comme l'HP-15C n'est pas rapide, j'ai évité une recherche par force brute.
Comme je suis un gros fainéant, j'ai par contre utilisé l'expression de S²(x) plus simple à saisir :

Je programme donc le programme suivant utilisant à dessein le label A:
[P/R]001-014 LBL A EEX 4 x↔y - √x 2 10^x + ENTER + √x RCL-0 RTN[P/R]
(l'argument est dans le registre X de la pile)

Il s'agit de l'équation S(x) == R0 avec S(x) = √S²(x) = √(2.(100+√(10⁴-x))).
J'utilise le registre R0 pour indiquer la valeur de la solution recherchée avec la commande SOLVE. Utiliser le registre R0 à cet usage est chez moi une habitude fort ancienne qui doit bien remonter au temps à je travailler à Marseille dans les années 1996/1999.
Comme l'argument x n'intervient qu'une seule fois, le code est plus simple que pour l'expression de S(x) où il apparait deux fois. Ce qui nécessite plus de manipulation et abouti à un code plus long et plus complexe.

Pour trouver le plus petit entier p strictement positif :

Code : Tout sélectionner

18  STO 0  1                EEX 4  SOLVE A   ---->    6'156.0000 
J'entre les bornes 1 et 10000 dans la pile et lance la résolution par SOLVE A.
Le résultat 6156 est trouvé en moins de 7-8 secondes.

Pour trouver le plus grand entier n strictement négatif:
22 STO 0 EEX 5 ENTER CHS 1 CHS SOLVE A ----> -10'164.0000
j'entre les bornes -10⁵ et -1 dans la pile et lance la résolution par SOLVE A.
Le résultat -10164 est trouvé en moins de 9-11 secondes.

Bon, une fois que l'on a les deux entiers, il est plus prudent de vérifier que S(6156) et S(-10164) sont effectivement des entiers.
Bon, en saisissant ces résultats et en lançant le calcul de S(n) et S(p), j'obtiens :

Code : Tout sélectionner

0 STO 0  6156 f A                            ---->      18.00000
10156 CHS f A                                ---->      22.00000
Bon, cela semble bien être des entiers, tout a moins à la précision de la machine.
Mais comment en être sûr ! Comment calculer exactement ?

Image
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Helix
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 60
Enregistré le : 13 nov. 2015 18:52
Localisation : 47

Re: La Question radicale Du Dimanche matin carré

Message par Helix »

Voici mon raisonnement, qui donne directement l'ensemble des solutions.
On part de l'équation déjà donnée précédemment :
S² = 200 + 2√(10000 - n)
On note qu'elle impose une condition sur S² , à savoir S² ≥ 200

Il suffit ensuite d'exprimer n en fonction de S :
n = 10000 – (S²/2 -100)²
Cette écriture permet de voir que pour que n soit entier, il faut et il suffit que S²/2 soit entier, autrement dit que S soit pair.

On pose alors S = 2k, où k est un entier, et on réécrit n en fonction de k :
n = 10000 – ((2k)²/2 – 100)²
Soit, en sautant les étapes intermédiaires :
n = 400k² -4k⁴

On n'oublie pas la condition sur S² : S² ≥ 200, soit S > 14, d'où k > 7.
Les solutions sont donc données par :
n = 400k² -4k⁴, avec k ≥ 8
Ce qui donne :

Code : Tout sélectionner

k = 8	n = 9216	S = 16
k = 9	n = 6156	S = 18
k = 10	n = 0		S = 20
k = 11	n = -10164	S = 22
k = 12	n = -25344	S = 24
…
Ce qui permet de répondre facilement aux deux questions initiales :)
Avatar du membre
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 499
Enregistré le : 05 mars 2020 20:45
Contact :

Re: La Question radicale Du Dimanche matin carré

Message par Schraf »

@Helix : Bien vu ! :geek:
Répondre

Retourner vers « Tous les Pockets »