PASCAL : exo super relou :( - Programmation
Marsh Posté le 13-11-2001 à 17:12:48
tu fais une boucle Do while
en incrementant n
et n3=n^3
n4=n^4
tu transforme n3 et n4 en chaine de caractere
tu fais temp=n3+n4
tu fais :
trouve=1
for i=0 to 9
si tu trouve i dans temp alors
trouve=trouve*1
sinon
trouve=trouve*0
finsi
fin for
si trouve=1 alors c'est bon tu sors de la boucle
fin while
tu dois trouver n=18
je sais pas si c'est trés clair ?
Marsh Posté le 13-11-2001 à 17:27:55
en VB ou (VBA)c'est facile ça donne ça:
Sub nn()
n = 10
Do
n3 = n ^ 3
n4 = n ^ 4
temp = n3 & n4
trouve = 1
For i = 0 To 9
pos = InStr(temp, i)
If pos = 0 Then
trouve = 0
GoTo continueboucle
Else
trouve = trouve * 1
End If
Next
continueboucle:
n = n + 1
Loop While trouve = 0
MsgBox (n - 1)
End Sub
Marsh Posté le 13-11-2001 à 17:31:18
Beyonder >
Sauf erreur de ma part, tu vérifies juste que les nombres contiennent bien tous les chiffres de 0 à 9, pas qu'ils les contiennent 1 et 1 seule fois ...
Marsh Posté le 13-11-2001 à 19:36:32
MarvinLeRouge a écrit a écrit : Beyonder > Sauf erreur de ma part, tu vérifies juste que les nombres contiennent bien tous les chiffres de 0 à 9, pas qu'ils les contiennent 1 et 1 seule fois ... |
exacte mais comme tu commence a disons n=10
et que tu incrémente. le premier nombre
trouvé contient tous les chiffres de 0 a 9
1 seule fois, apres on sort de la boucle.
Marsh Posté le 13-11-2001 à 20:16:54
Beyonder a écrit a écrit : en VB ou (VBA)c'est facile ça donne ça: Sub nn() n = 10 Do n3 = n ^ 3 n4 = n ^ 4 temp = n3 & n4 trouve = 1 For i = 0 To 9 pos = InStr(temp, i) If pos = 0 Then trouve = 0 GoTo continueboucle Else trouve = trouve * 1 End If Next continueboucle: n = n + 1 Loop While trouve = 0 MsgBox (n - 1) End Sub |
le Goto c'est de la programmation de porc
Marsh Posté le 14-11-2001 à 08:35:22
ddr555 a écrit a écrit : le Goto c'est de la programmation de porc |
et si tu donnais ta version ce serait plus constructif non ?
pour info ,je n'ai pas cherché a faire de "la belle programmation" mais a aller au plus rapide il faut prendre
ça comme un algo qui fonctionne.
ps: j'attend ta version en C ou en Pascal car
je suis toujours content d'apprendre.
Marsh Posté le 14-11-2001 à 12:23:09
ddr555 a écrit a écrit : le Goto c'est de la programmation de porc |
Hola !!!
Et pourtant lorsque tu code sur le proc en asm, il y a bien des jmp, non ?
C'est que ça a une certaine utilité donc ...
Marsh Posté le 14-11-2001 à 13:42:42
juju_le_barbare a écrit a écrit : Hola !!! Et pourtant lorsque tu code sur le proc en asm, il y a bien des jmp, non ? C'est que ça a une certaine utilité donc ... |
en assembleur tu n'as pas le choix
en pascal : nada pas de goto
fais ça et tu te feras assassiner
[edtdd]--Message édité par ddr555--[/edtdd]
Marsh Posté le 13-11-2001 à 16:48:21
Voila, j'arrive pa a le faire
Le sujet :
Trouver les entiers positifs n tel que, en calculant n^3 et n^4, on utilise une fois et une seule seulement tous les chiffres de 0 a 9 inclus
Merci