![]() |
|
Forum
|
|
|||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
|
Bonjour
Un petit remue-méninges bien célèbre (encore imparfait car il vous faudra...) Toute aide vbaiste sera la bienvenue (en formules ca doit etre possible aussi mais trés coton (enfin il me semble)) Merci Edition Dans la deuxième version il y 10 solutions aux problèmes solutions.zip EDITION Dans la même veine (pour ceux qui aiment se casser la tête) Il y aussi: Le Cavalier d'Euler (The Knight's Tour) Des détails ici Echecs : Problèmes, études et jeux sur les échecs Dernière modification par Staple1600 ; 07/04/2007 à 11h14. |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
Super Moderator
Date d'inscription: février 2005
Localisation: Rennes
Version Excel : Excel 2000 (PC)
Messages: 8 463
|
Bonjour
très sympa en effet j'ai trouvé la solution mais en effet cela doit être sympa à mettre en oeuvre en vba avec affichage en rouge aussitot qu'il y a une erreur A plancher
__________________
Pascal(Visitez mon Blog Photo)Vous pouvez devenir "Supporter XLD", plus de renseignements ICI |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
|
Re
J'ai vu sur le net divers algo de résolution mais pas je ne suis pas assez calé en programmation pour les adapter en VBA Avis aux amateurs |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
|
Re
Voici un code QBasic copié tel quel or la fonction SWAP n'existe pas en VBA (ou je ne le sais pas ) Comment faire, svp pour rendre cet exemple fonctionnel? Code:
DefInt A-Z
Sub huitreines()
Dim q(8)
For i& = 0 To 40319
For j = 0 To 7: q(j) = j: Next: k& = i&
For j = 8 To 1 Step -1
SWAP q(j - 1), q(k& Mod j)
k& = k& \ j
Next
A = 0
b = 0
For j = 7 To 0 Step -1
v = 2 ^ (q(j) + j): If A And v Then Exit For
A = A + v
v = 2 ^ (q(j) - j + 7): If b And v Then Exit For
b = b + v
Next
If j < 0 Then
c = c + 1
Print c; ":";
For j = 0 To 7
Print Str$(q(j));
Next
Print
End If
Next
End Sub
|
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: décembre 2005
Localisation: Chelles 77500
Version Excel : Excel 2004 (MAC)
Messages: 868
|
Salut Staple,
Eh oui, swap c'est le troc, A prend la pace de B et inversement. Ca n'esiste pas en vba, faut un tiers C. Ce qui est rigolo, c'est que cette fonction existe sur ma HP41C des années 70, une merveille de machine. pas compris non plus les if a and v... Bon, sinon v'la ma petite version, j'ai déplacé l'échiquier pour être plus à l'aise pour programmer. Pas de problème pour les horizontaux et verticaux, mais les diagonales du fou c'est plus artisanal. Si un quidam a une solution plus mathématique, avec des modulos par exemple..... mode d'emploi : Tu places et tu appuies sur solution à chaque fois (ou doûte). A plus, Gruick
__________________
MOI, J'AIME ...IER !! |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
|
Merci de ta participation Gruick
Voici une version avec 10 solutions J'ai protégé le code VBA Jouez le jeu, svp essayer de trouver le mot de passe qui vous sera demandé quand vous voudrez y accéder Il y a un indice... |
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: mars 2005
Localisation: Maubeuge
Version Excel : Excel 2000 (PC)
Messages: 6 923
|
Salut Gruick,
J'apprends que tu étais utilisateur d'une HP41 !!! Pour info, ça a été ma calculatrice qui m'a accompagné pendant une bonne partie de mes études. Etant nostalgique de cette machine, j'ai poussé le vice en en rachetant une sur E bay il y a 6 mois. Merveilleuse machine à l'époque. @+
__________________
Ne jamais hésiter à utiliser la recherche sur le Forum, beaucoup de réponses s'y trouvent Amitiés XldiennesXLD vous a aidé, n'hésitez pas à aider XLD |
|
|
|
|
|
#8 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
|
Gruick
Si tu cliques sur SOLUTION alors qu'il y a aucune dame sur l'échiquier tu obtiens une msgbox "Bien placé" lol |
|
|
|
|
|
#9 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: décembre 2005
Localisation: Chelles 77500
Version Excel : Excel 2004 (MAC)
Messages: 868
|
Tu agrafes ton cas Staple...
je verrais bien un test du genre if activecell = "" then exit sub, à placer quelque part.... mais ou ? pas d'1,10 non mais. Bon, c'est l'heure question pour un champion... Gruick
__________________
MOI, J'AIME ...IER !! |
|
|
|
|
|
#10 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
|
Re
En m'inspirant de: Solutions to the 8-Queens Problem j'essaye de traduire cela en vba For composite numbers n=pq, we can make a direct product of the p-queen and q-queen problems. That is, each queen position of the p-queen problem is regarded as a solution of the q-queen problem. We can change the roles of p and q. Thus for 35=5*7, we can generate 10*(40)^5 + 40*(10)^7 solutions. To generate one solution for a general n, let the plane coordinated by i=0, ..., n-1 and j=0, ..., n-1. Suppose n is even. For any k, (2) If n is not 6k j = (n/2 + 2i -1) mod n, for 0 <= i < n/2 j = (n/2 + 2i + 2) mod n, for n/2 <= i Example 3. n=8 Vu que j'ai pas trop carburé en maths jadis qui ici pourrait m'aider? |
|
|
|
|
|
#13 (permalink) |
|
Super Moderator
Date d'inscription: février 2005
Localisation: Rennes
Version Excel : Excel 2000 (PC)
Messages: 8 463
|
Re
Dis on va pas non plus faire 10 posts sur un pwd je l'ai fait sauter sans souci ton pwd mais bon je vais créer un post uniquement pour cela tiens ton code de ton module histoire de prouver mes dires
__________________
Pascal(Visitez mon Blog Photo)Vous pouvez devenir "Supporter XLD", plus de renseignements ICI |
|
|
|
|
|
#14 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: décembre 2005
Localisation: Chelles 77500
Version Excel : Excel 2004 (MAC)
Messages: 868
|
Bonjours à tous,
Si Maud passe, je lui demanderai. Le but du jeu est-il de jouer, ou de faire découvrir une solution à l'ordinateur ? Gruick
__________________
MOI, J'AIME ...IER !! |
|
|
|
|
|
#15 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
|
Bonjour
Edition: Pascal76 ayant édité son message J'edite celui-ci Dernière modification par Staple1600 ; 07/04/2007 à 12h19. |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| VBA fait sur XL 2003 pour 2000 | JC de Lorient | Forum Excel | 3 | 19/04/2006 20h51 |
| Boucle appliquée pour tous classeurs(pour les pros!) | Temjeh | Forum Excel Downloads - Archives | 2 | 10/02/2005 14h26 |
| nbre = texte pour tous et pour monique si elle veut bien | rubis | Forum Excel Downloads - Archives | 2 | 30/09/2004 21h44 |
| Comment fait ton pour fermer une userform | bichon | Forum Excel Downloads - Archives | 9 | 11/06/2003 21h28 |
| pour les matheux | reynaldp | Forum Excel Downloads - Archives | 2 | 19/03/2003 19h21 |