Inscription / Connexion Nouveau Sujet

1 2 +


Posté par deltree (invité)gast... 06-05-06 à 00:11

perduargh!! evidement, je me plante encore... je ne vérifie pas la réponse...

for (i=1;i<109;i++)
{
res=Math.sqrt(i*i+2009);
if (int(res)==res) trace (res);
}

c'était "trace (i)" pas trace (res)...

Posté par
borneo
re : Challenge n°178 : carrelage** 14-05-06 à 15:27

gagnéBonjour, je me suis lancée dans VBA et j'ai réussi à écrire une macro qui me donne la bonne réponse, enfin plutôt qui me donne la première bonne valeur de x qui est 16. Est-ce que quelqu'un peut me dire comment j'aurais dû faire s'il y avait eu plusieurs bonnes réponses ?
Je vous mets mon texte

Sub carreleur()
'
' carreleur Macro
' Macro enregistrée le 14/05/06 par vh
'
Line1:
For x = 0 To 12000
a = Sqr(x)
b = Int(a)
c = Sqr(x + 2009)
d = Int(c)
If a = b And c = d Then GoTo Line2
GoTo Line3
Line2:
e = MsgBox("le carreleur prendra x = " & x, vbOKOnly, "You're the best")
GoTo Line4:
Line3:
Next x
Line4:
End Sub

Merci

Posté par
chaudrack
re-Borneo 14-05-06 à 19:01

gagnéil suffit de continuer ton incrémentation de x en supprimant "goto line4" apres l'affichage de ton réslultat!

Ainsi, si une autre valeur existe, il continuera l'incrémentation et réaffichera si besoin.

A plus

Posté par
jugo
re : Challenge n°178 : carrelage** 14-05-06 à 19:06

gagnéil suffit d'enlever le "GoTo Line4"

Après avoir affiché la première réponse, le programme continuera ses boucles et raffichera un message lorsqu'il aura trouvé une autre solution, etc.

Sinon, puisque tu travailles sous Excel, tu peux les afficher au fur et à mesure sur ta feuille de travail. En simplifiant un peu ton programme, on obtient :

Sub carreleur()

Dim a, b, c, d, x As Integer
i = 1

For x = 0 To 12000

    a = Sqr(x)
    b = Int(a)
    c = Sqr(x + 2009)
    d = Int(c)
    
    If a = b And c = d Then
        Cells(i, 1) = "le carreleur prendra x = " & x
        i = i + 1
    End If

Next x

End Sub

Posté par
borneo
re : Challenge n°178 : carrelage** 14-05-06 à 20:08

gagnéMerci chaudrack et jugo. Je vais étudier ça.

1 2 +


Challenge (énigme mathématique) terminé .
Nombre de participations : 0
:)0,00 %0,00 %:(
0 0

Temps de réponse moyen : 21:47:17.


Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !