OVH Cloud OVH Cloud

[HS] Distraction numérique

25 réponses
Avatar
Tatanka
Bonjour,

Il existe un seul nombre entier positif (Pierre de Fermat) tel que
celui qui le précède est un carré et celui qui le suit est un cube.
Quelle serait la plus courte macro permettant de le débusquer ?
En souvenir de la plus courte formule :-)

Serge

5 réponses

1 2 3
Avatar
Sam
Bonjour, je propose ceci

Sub Macro1()
'
x = 1
Do
x = x + 1
y = Sqr(x * x * x - 2)
Loop While (y <> Int(y))
MsgBox (y * y + 1)
End Sub

Cordialement
Michel dit "Sam"
Avatar
Sam
re bonjour, si on veut réduire le nombre de lettres , on a aussi ceci en 52
lettres

Sub Macro1()
'
x = 1
Do
x = x + 1
y = Sqr(x ^ 3 - 2)
Loop Until (y <> Int(y))
[A1] = y ^ 2 + 1
'
End Sub

Cordialement
Michel dit "Sam"


les 6 et 7 août
Nuits des étoiles à Villeneuve d'Ascq
http://www.astro-carl.com/article.php3?id_articleD2
Avatar
Tatanka
Astucieux, très astucieux ! Je suis battu à plate couture :-)
Et pourquoi pas 50 caractères :

Sub Macro1()
x = 1
Do
x = x + 1
y = Sqr(x ^ 3 - 2)
Loop While y <> Int(y)
[A1] = y ^ 2 + 1
End Sub

Serge

"Sam" a écrit dans le message de news: 4c572c2d$0$5394$
re bonjour, si on veut réduire le nombre de lettres , on a aussi ceci en 52 lettres

Sub Macro1()
'
x = 1
Do
x = x + 1
y = Sqr(x ^ 3 - 2)
Loop Until (y <> Int(y))
[A1] = y ^ 2 + 1
'
End Sub

Cordialement
Michel dit "Sam"


les 6 et 7 août
Nuits des étoiles à Villeneuve d'Ascq
http://www.astro-carl.com/article.php3?id_articleD2


Avatar
Sam
Bonjour,
je n'avais pas osé oter les parenthèses
(dans les exemples de while que j'ai, il y a toujours une parenthèse)
et comme c'est une boucle, j'ai eu peur de devoir arrêter l'ordinateur d'une
façon brutale.
Cordialement
Michel dit "Sam"

"Tatanka" a écrit dans le message de news:
i37vuc$tmh$
Astucieux, très astucieux ! Je suis battu à plate couture :-)
Et pourquoi pas 50 caractères :

Sub Macro1()
x = 1
Do
x = x + 1
y = Sqr(x ^ 3 - 2)
Loop While y <> Int(y)
[A1] = y ^ 2 + 1
End Sub

Serge

"Sam" a écrit dans le message de news:
4c572c2d$0$5394$
re bonjour, si on veut réduire le nombre de lettres , on a aussi ceci en
52 lettres

Sub Macro1()
'
x = 1
Do
x = x + 1
y = Sqr(x ^ 3 - 2)
Loop Until (y <> Int(y))
[A1] = y ^ 2 + 1
'
End Sub

Cordialement
Michel dit "Sam"


les 6 et 7 août
Nuits des étoiles à Villeneuve d'Ascq
http://www.astro-carl.com/article.php3?id_articleD2






Avatar
LSteph
Bonjour,

Tres bien!

Je note surtout qu'ainsi l'on a plus besoin de déclarer un type
décimal car visiblement y<>int(y) en tient compte alors que y-
int(y)=0 faussait cette verification.

@+

--
LSteph


On 2 août, 21:05, "Sam" wrote:
Bonjour, je propose ceci

Sub Macro1()
'
x = 1
Do
x = x + 1
y = Sqr(x * x * x - 2)
Loop While (y <> Int(y))
MsgBox (y * y + 1)
End Sub

Cordialement
Michel dit "Sam"
1 2 3