DenisHen Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 Salut à tous. Je propose un petit jeu, mais en Lisp et/ou en VLisp et sans mélanger les deux. Mais si vous êtes en mesure de proposer d'autres langages, libre à vous, faites-nous voir vos connaissances... ;) Avec le moins de lignes possible, faire ceci : 1.La base est une chaine contenant un nombre à 16 chiffres (ex : "5637159071856346"),2.Passer par l'étape d'inversion de ce contenu (ex : "6436581709517365"), en fait il faut lire la chaine depuis la fin,3.Puis, permuter les paires 2 à 2 (ex : "46638571901537765"), on inverse les chiffres 2 par 2, 64 devient 46, 36 devient 63... C'est parti... ;) Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 Bump ! Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 10 mars 2021 Auteur Posté(e) le 10 mars 2021 Bump ? Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 J'ai une solution, mais je laisse d'autres répondre avant de la poster. PS: il y a une petite erreur dans l'énoncé : la base devrait être : "5637159071856346" Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 10 mars 2021 Auteur Posté(e) le 10 mars 2021 J'ai une solution, mais je laisse d'autres répondre avant de la poster.J'en étais certain... ;) PS: il y a une petite erreur dans l'énoncé : la base devrait être : "5637159071856346"Oops, désolé, c'est modifié dans le post original. Merci. Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Curlygoth Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 vba accepté ? et par itération ? ou boucle ? Mon site Web (en cours de construction) : Site DA-CODE de @didier
DenisHen Posté(e) le 10 mars 2021 Auteur Posté(e) le 10 mars 2021 Salut Curlygoth. Non, désolé, pas de VBA, et pour l'itération ou la boucle, c'est toi qui vois, il faut un minimum de ligne de code... C'est le challenge. ;) Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Curlygoth Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 bon ben ... si pas de vb je suis disqualifié ! Bon courage au participant ^^ Mon site Web (en cours de construction) : Site DA-CODE de @didier
DenisHen Posté(e) le 10 mars 2021 Auteur Posté(e) le 10 mars 2021 Désolé... Mais tu peux lancer ce challenge en VBA... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 On pourrait accepter des réponses dans d'autres langages. Il est peu probable qu'on arrive à faire aussi concis qu'en LISP, excepté avec certains langages fonctionnels comme F#:let jeu str = let rec f a = function | x :: y :: t -> f (x :: y :: a) t | _ -> a new string(str |> Seq.toList |> f [] |> List.toArray) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 10 mars 2021 Auteur Posté(e) le 10 mars 2021 (gile), si c'est une idée pour augmenter le jeu, je suis preneur... Désires-tu que je change les langages du challenge ? je n'y vois rien à redire pour ma part... ;) Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 Je pensais juste laisser ouvert à des réponses dans d'autres langages. Dans tous les cas, ne t'attends pas à une avalanche de réponses. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 10 mars 2021 Auteur Posté(e) le 10 mars 2021 Non, bien sûr (gile), je ne m'attends pas à un surprenant engouement suite à un coup de baguette magique de la part d'autrui, bien que ce forum regorge de personnes investies et de bonne fois, l'entente de ce forum, et tu en conviendras, est très sympathique, empathique, sans attente de retour (altruisme, es-tu là ?), et presque amical (je m'en suis aperçu lors du malheureux décès anonyme d'un des nôtres, j'ai été très triste, et je n'étais pas le seul...). Mais je n'ai plus de "lien" avec le AutoCAD et le Lisp en ce moment et depuis quelques années (je travaille sur un autre logiciel, MIAO de AllSystems), mais je viens toujours faire un tour sur CadXP, nostalgie, quand tu nous tiens... Je vais donc agrandir le cercle du développement de "mon" challenge à toutes formes de langage... Tu as, encore une fois, raison... ;) Je vais de ce pas changer mon premier post... Merci à toi... Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Fraid Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 Bonjour,Une solution en Autolisp (defun chal (str / ret cpt) (setq str (vl-string->list str) cpt 0) (repeat (/ (length str) 2) (setq ret (cons (vl-list->string (list (nth cpt str)(nth (1+ cpt)str))) ret ) cpt (+ 2 cpt)) ) (apply 'strcat ret) ) https://github.com/Fraiddd
Fraid Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 Bonjour,Une solution en Javascript function chal(str) { var lstr = str.split('').reverse(); var lret = []; var cpt = 0; for (var ii = 0; ii < lstr.length / 2; ii++){ lret.push(lstr[cpt + 1],lstr[cpt]); var cpt = cpt + 2; } console.log("".concat(...lret)); } chal('5637159071856346'); > "4663857190153756" https://github.com/Fraiddd
DenisHen Posté(e) le 10 mars 2021 Auteur Posté(e) le 10 mars 2021 Voilà ! ! ! Merci Maître (gile), du java maintenant ! ! ! Non, je déconne, c'est vraiment curieux le java, et ça m'intéresse... Mais on ne peut pas dire qu'il économise les lignes de codes... Bien que, on est d'accord, le Lisp n'est, en fait, qu'une seule ligne de code... Mais merci Fraid de participer... Et tu as bien relevé le challenge... Bravo... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Fraid Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 Yop,Ce n'est pas du Java, mais du JavascriptTrès grosse différence. https://github.com/Fraiddd
DenisHen Posté(e) le 10 mars 2021 Auteur Posté(e) le 10 mars 2021 Ah ben ouais, c'est "script" la différence ? ? ? Non, je déconne, je ne connais pas la différence entre Java et JavaScript... Est-ce la même qu'entre VB et VBA ? Par exemple ? Est-ce la même qu'entre VB6 et .NET ? Est-ce la même qu'entre Lisp et V-Lisp ? Est-ce la même qu'entre un gratin et une tourte ? Ok, je sors, je sais, je suis aller trop loin... Désolé... Mais j'aime humoristiquer mes propos pour "détendre", car je suis sur que je vais finir par connaître la différence entre Java et JavaScript... Car je suis sûr que tu va le faire... Mais, est-ce que le javaScript est une évolution du Java, est-ce une révolution ? Est-ce le même langage de base ? Les fonctions, les paramètres, les termes, l'algorithme est-il le même ? ? ? Dès qu'on me présente un langage, je suis toujours super curieux... Mais je sais pertinemment qu'il y en a eu un autre avant... J'ai toujours vu le Java comme un super truc mais le JavaScript, est-ce le super truc du super-truc ? Est-ce une évolution ? Une décadence ? une suite précurcive ? Allez, défoule-toi Fraid... j'ai soiffe de connaissance... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Fraid Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 défoule-toi Fraid Oula, c'est que j'ai du travail....et c'est souvent pour cela que mes messages sont court. Il va falloir que tu te documente, sur Wiki par exemple.Dès que j'ai le temps je fait un exemple en Java. https://github.com/Fraiddd
DenisHen Posté(e) le 10 mars 2021 Auteur Posté(e) le 10 mars 2021 Dès que j'ai le temps je fait un exemple en Java.J'en serais ravi, et je ne serais pas le seul... Car aller voir la différence entre le Java et le JavaScript sur le NET, je vais y passer des heures, et je ne suis pas sûr d'être plus renseigné à la fin, pas tel qu'un véritable utilisateur et développeur ne pourrais le faire... Via une explication concise soutenu par de petits exemples ne pourrait le faire... Tu as la connaissance des deux, donc, il n'y a qu'une personne comme toi (et tant d'autre, on est bien d'accord), pour, en quelques lignes, m'expliquer la différence. Car j'ai déjà essayé, mais rien de probant... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 Pour faire court, JavaScript est un langage de script (langage interprété à typage dynamique) comme Python, VBScript ou encore LISP, Java est un langage compilé à typage statique comme C, C++, C#, VB.NET ou encore F#. F#, qui privilégie la programmation fonctionnelle, utilise un typage très rigoureux (pas de conversions implicites) qui permet une puissante inférence de type (le type des données est directement déduit du code avant compilation). Ceci permet un syntaxe très concise qui rappelle les langages de script.Un autre exemple F# encore plus concis :let foo str = let rec f s r = if s = "" then r else f s.[2 ..] (s.[.. 1] + r) f str "" Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 Un exemple en C# (ça devrait ressembler à du Java)string Challenge(string source) { string result = ""; while (1 < source.Length) { result = source.Substring(0, 2) + result; source = source.Substring(2); } return result; } Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lecrabe Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 Hello Gilles 1) J admire ! Et ce code me parait "mysterieux" ... 2) Mes antecedants de "vieille" programmation : Assembleur, Fortran, Cobol, GAP/RPG, Pascal, Basic, un soupcon de C, me m ont jamais permis de vraiment "bien" comprendre le Lisp. Mais j aurais du insister ! 3) A l epoque (1980-1995) j admirais un autre langage "perdu aujourd'hui" : APLhttps://fr.wikipedia.org/wiki/APL_(langage) La Sante, Bye, lecrabe "fatigue" Autodesk Expert Elite Team
Fraid Posté(e) le 10 mars 2021 Posté(e) le 10 mars 2021 ça devrait ressembler à du Java Je confirme public class Challenge { public static void main(String[] args){ System.out.print(chal("5637159071856346")); } public static String chal( String txt){ String ret = ""; while (1 < txt.length()) { ret = txt.substring(0, 2) + ret; txt = txt.substring(2); } return ret; } } run: 4663857190153756BUILD SUCCESSFUL (total time: 0 seconds) https://github.com/Fraiddd
DenisHen Posté(e) le 10 mars 2021 Auteur Posté(e) le 10 mars 2021 Salut (gile), je n'ai pas tout compris, mais c'était très clair... ;) Ôh Décapode, tu as fais du Cobol ? ? ? Alors là bravo, j'en ai fais une minute, j'ai eu mal au crane pendant deux semaines... Mais j'ai adoré... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant