-
Compteur de contenus
151 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par ElpanovEvgeniy
-
(vlax-for a (vla-get-documents (vlax-get-acad-object)) (not (vl-catch-all-error-p (vl-catch-all-apply (function (lambda () (vla-close a)))))) )
-
Merci! Je voulais montrer une autre approche de la décision de la tâche. Par l'autre, en ce qui concerne tous les autres programmes. J'ai fait cela. :)
-
Salut (gile) Ton code est irréprochable! test2... (defun test4 (l) (apply 'append (mapcar '(lambda (a) (cond ((numberp a) (list a)) ((listp a) (test4 a)) ) ) l ) ) )
-
L'approche alternative (defun test1 (l) (cond ((listp l) (vl-remove-if 'null (mapcar 'test1 l))) ((numberp l) l) ) ;_ cond ) (defun test2 (l) (vl-remove-if-not 'numberp (read (strcat "(" (vl-string-translate "()" " " (vl-princ-to-string l)) ")")) ) ;_ vl-remove-if-not )
-
Triangulation Maillage en 3DFaces.
ElpanovEvgeniy a répondu à un(e) sujet de bonuscad dans Routines LISP
Salut Vous pouvez utiliser les programmes pour n'importe quels buts! Mais, écrivez la référence à moi. C'est ma publicité. PS. Maintenant, je cherche les clients... -
Challenge 26
ElpanovEvgeniy a répondu à un(e) sujet de ElpanovEvgeniy dans Pour aller plus loin en LISP
Je ne demande pas les ripostes. Cette compétition, j'ai commencé cinq ans en arrière. Un rivalisait. À la base de ce code, j'ai créé quelques plus grands projets, de qui je suis fier! -
Challenge 26
ElpanovEvgeniy a répondu à un(e) sujet de ElpanovEvgeniy dans Pour aller plus loin en LISP
Oui! Vous ont écrit exactement. Notamment les programmes si doivent travailler... -
Challenge 26
ElpanovEvgeniy a répondu à un(e) sujet de ElpanovEvgeniy dans Pour aller plus loin en LISP
>all J'ai pu expliquer? -
Challenge 26
ElpanovEvgeniy a répondu à un(e) sujet de ElpanovEvgeniy dans Pour aller plus loin en LISP
Chez moi seulement X: ' (("le début" . "La fin") ("le début" . "La fin") ... ("le début" . "La fin")) -
Challenge 26
ElpanovEvgeniy a répondu à un(e) sujet de ElpanovEvgeniy dans Pour aller plus loin en LISP
On regrette, je ne connais pas la langue française... union == Le groupement (Union '((2 . 4)) '((3 . 6))) >> '((2 . 6)) (Union '((2 . 4)) '((6 . 8))) >> '((2 . 4) (6 . 8)) (Union '((2 . 6)) '((2 . 4))) >> '((2 . 6)) (Union '((2 . 4) (6 . 8)) '((2 . 4))) >> '((2 . 4) (6 . 8)) (Union '((2 . 4) (6 . 8)) '((2 . 5))) >> '((2 . 8)) Il est si plus compréhensible ? [Edité le 10/9/2008 par ElpanovEvgeniy] -
Je propose d'écrire trois différents programmes, mais ils sont semblables. C'est une tâche très intéressante - on peut la décider par la quantité immense de moyens. 1. (Union lst1 lst2) 2. (Intersection lst1 lst2) 3. (Subtraction lst1 lst2) L'exemple (setq lst1 '((1 . 5) (8 . 10) (20 . 20)) lst2 '((2 . 2) (4 . 6) (9 . 30)) ) ;_ setq (Union lst1 lst2) => '((1 . 6) (8 . 30)) (Intersection lst1 lst2) => '((2 . 2) (4 . 5) (9 . 10) (20 . 20)) (Subtraction lst1 lst2) => '((1 . 1) (3 . 3) (8 . 8))
-
:) Recursion - seulement un des accueils, mais non l'algorithme. Regarde la variante sans recursion et compare... (defun PrintFoldersInt (path) (setq path (list path)) (while (setq path (apply 'append (mapcar '(lambda (a) (mapcar '(lambda (b) (print (strcat a "\\" b))) (vl-remove "." (vl-remove ".." (vl-directory-files a nil -1)) ) ) ) path ) ) ) ) (princ) )
-
Je n'ai pas d'idées, pour l'amélioration du programme. La seule correction - a enlevé la variable superflue. (defun PrintFolders (path) ;;by (gile) (mapcar '(lambda (x) (PrintFolders (print (strcat path "\\" x)))) (vl-remove "." (vl-remove ".." (vl-directory-files path nil -1)) ) ) (princ) )
-
C'est toujours un plaisir de te lire :D http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=13600
-
Bonjour :) Un sujet très intéressant! Toutes les variantes me sont très intéressantes... Mes variantes vous sont familières...
-
Oui, j'ai montré seulement la partie de la tâche. :)
-
http://autolisp-exchange.com/forum/showpost.php?p=271&postcount=6 (defun test (lst fun) (if (cdr lst) (test (cons (fun (car lst) (cadr lst)) (cddr lst)) fun) (car lst) ) ;_ if ) ;_ defun (test '(5 3 2 8 10 5 0 -3 8 -3) min) ;=> -3 (test '(5 3 2 8 10 5 0 -3 8 -3) max) ;=> 10 (test '(5 3 2 8 10 5 0 -3 8 -3) +) ;=> 35 (test '(5 3 2 8 10 5 0 -3 8 -3) -) ;=> -25 (test '(5 3 2 8 10 5 0 -3 8 -3) *) ;=> 0 (test '(5 3 2 8 10 5 0 -3 8 -3) /) ;=> error: divide by zero [Edité le 28/8/2008 par ElpanovEvgeniy]
-
Bon matin! Je n'utilise pas VL-* :) (defun paire-e (a b s i) ;; ElpanovEvgeniy (setq s (substr s (1+ i)) i (list i) ) (while (and (or (null (cdr i)) (not (zerop (car i)))) (null (= s "")) ) (if (cdr i) (cond ((= a (substr s 1 1)) (setq i (cons (1+ (car i)) (cons (1+ (cadr i)) (cddr i))) s (substr s 2) ) ) ((= b (substr s 1 1)) (if (= (car i) 1) (setq i (cdr i) s "" ) (setq i (cons (1- (car i)) (cons (1+ (cadr i)) (cddr i))) s (substr s 2) ) ) ) (t (setq i (cons (car i) (cons (1+ (cadr i)) (cddr i))) s (substr s 2) ) ) ) (if (= a (substr s 1 1)) (setq i (cons 1 (cons (1+ (car i)) i)) s (substr s 2) ) (setq i (list (1+ (car i))) s (substr s 2) ) ) ) ) (if (and (cdr i) (null (cddr i))) (reverse i) ) ) [Edité le 22/8/2008 par ElpanovEvgeniy]
-
C'est à dire qu'il est difficile de passer après toi ou (gile) :P @+ Je suis toujours prêt, aller après vous! Pour moi, ces compétitions, sont très intéressantes! Chaque fois, je trouve les nouvelles idées.
-
Salut (gile)! Après vous, il ne restait pas ici les places pour un beau code. Votre code est beau! Il me restait, seulement à augmenter la productivité... Je suis content que cette leçon, vous a plu aussi! :) ps. Pourquoi il n'y a pas de suite des compétitions ?
-
Bonjour ! :) Quatre - cinq ans en arrière, j'ai écrit le système des programmes. Ces programmes traitaient seulement "LWPOLYLINE". Toutes les polylignes, pouvaient être dans de différentes places du plan, avec un divers tournant. Aussi, les polylignes pouvaient avoir le début dans de différentes places du contour, avoir une diverse direction et avoir les sommets superflus... Le programme se trompait parfois - près de 2/100000... Malheureusement, le programme est la partie du projet commercial et je ne peux pas la publier, mais je peux décrire les algorithmes mis. Mon opinion - créer un tel programme, pour le travail avec tous par les primitifs autocad est une tâche immense commerciale et il est possible de la faire seulement par l'équipe et pour un grand laps de temps. Cela non la compétition, mais le travail!
-
J'ai fait une petite étude : :) (defun deb_pat1 (lst n) (vl-remove-if '(lambda (x) (< (setq n (1- n)) 0)) lst) ) ;_ defun (defun deb_pat2 (lst n / i res) (setq i -1) (repeat n (setq res (cons (nth (setq i (1+ i)) lst) res))) (reverse res) ) ;_ defun (defun deb_Bred (lst n / l) (repeat n (setq l (append l (list (nth 0 lst))) lst (cdr lst) ) ;_ setq ) ;_ repeat l ) ;_ defun (defun deb_gile1 (lst ind) (if (< 0 ind) (cons (car lst) (deb_gile1 (cdr lst) (1- ind))) ) ;_ if ) ;_ defun (defun deb_gile2 (lst ind / ret) (while (< 0 ind) (setq ret (cons (car lst) ret) ind (1- ind) lst (cdr lst) ) ;_ setq ) ;_ while (reverse ret) ) ;_ defun (defun deb_BTO3 (l n / r) (repeat n (setq r (cons (car l) r)) (setq l (cdr l))) (reverse r) ) ;_ defun (defun deb-e2 (l n / r) (repeat (/ n 4) (setq r (cons (cadddr l) (cons (caddr l) (cons (cadr l) (cons (car l) r))) ) ;_ cons l (cddddr l) ) ;_ setq ) ;_ repeat (repeat (rem n 4) (setq r (cons (car l) r) l (cdr l) ) ;_ setq ) ;_ repeat (reverse r) ) ;_ defun liste de 10 elements : (DEB_GILE1 L 1).....1700 / 2.86 (DEB_GILE2 L 1).....1716 / 2.84 (DEB_PAT2 L 1)......1857 / 2.62 (DEB_BRED L 1)......1887 / 2.58 (DEB-E2 L 1)........1981 / 2.46 (DEB_PAT1 L 1)......4867 / 1.00 (DEB_GILE1 L 3).....1840 / 2.61 (DEB_GILE2 L 3).....1934 / 2.48 (DEB_PAT2 L 3)......1997 / 2.41 (DEB-E2 L 3)........2106 / 2.28 (DEB_BRED L 3)......2137 / 2.25 (DEB_PAT1 L 3)......4805 / 1.00 (DEB_GILE2 L 6).....1030 / 2.33 (DEB_GILE1 L 6).....1045 / 2.30 (DEB-E2 L 6)........1092 / 2.20 (DEB_PAT2 L 6)......1217 / 1.97 (DEB_BRED L 6)......1280 / 1.88 (DEB_PAT1 L 6)......2402 / 1.00 (DEB_GILE2 L 9).....1139 / 2.11 (DEB_GILE1 L 9).....1155 / 2.08 (DEB-E2 L 9)........1155 / 2.08 (DEB_PAT2 L 9)......1264 / 1.90 (DEB_BRED L 9)......1466 / 1.64 (DEB_PAT1 L 9)......2403 / 1.00 liste de 100 elements : (DEB_GILE2 L 10).....1185 / 3.32 (DEB-E2 L 10)........1202 / 3.27 (DEB_GILE1 L 10).....1217 / 3.23 (DEB_PAT2 L 10)......1310 / 3.00 (DEB_BRED L 10)......1528 / 2.57 (DEB_PAT1 L 10)......3932 / 1.00 (DEB_PAT2 L 30)......2184 / 1.79 (DEB-E2 L 30)........2668 / 1.47 (DEB_GILE1 L 30).....3276 / 1.20 (DEB_BRED L 30)......3354 / 1.17 (DEB_GILE2 L 30).....3541 / 1.11 (DEB_PAT1 L 30)......3916 / 1.00 (DEB-E2 L 60)........1731 / 3.46 (DEB_GILE1 L 60).....2636 / 2.27 (DEB_GILE2 L 60).....2714 / 2.21 (DEB_PAT1 L 60)......2949 / 2.03 (DEB_PAT2 L 60)......3074 / 1.95 (DEB_BRED L 60)......5990 / 1.00 (DEB-E2 L 90)........1217 / 4.44 (DEB_PAT1 L 90)......1513 / 3.57 (DEB_GILE1 L 90).....1996 / 2.70 (DEB_GILE2 L 90).....2044 / 2.64 (DEB_PAT2 L 90)......2262 / 2.39 (DEB_BRED L 90)......5398 / 1.00 liste de 1000 elements : (DEB-E2 L 100)........1233 / 5.67 (DEB_GILE1 L 100).....2075 / 3.37 (DEB_GILE2 L 100).....2106 / 3.32 (DEB_PAT2 L 100)......2465 / 2.84 (DEB_BRED L 100)......6084 / 1.15 (DEB_PAT1 L 100)......6989 / 1.00 (DEB-E2 L 300).........1591 / 11.66 (DEB_GILE1 L 300)......2854 / 6.50 (DEB_GILE2 L 300)......2964 / 6.26 (DEB_PAT1 L 300).......3542 / 5.24 (DEB_PAT2 L 300).......4274 / 4.34 (DEB_BRED L 300)......18549 / 1.00 (DEB-E2 L 600).........1606 / 25.25 (DEB_PAT1 L 600).......2294 / 17.67 (DEB_GILE2 L 600)......2777 / 14.60 (DEB_GILE1 L 600)......2902 / 13.97 (DEB_PAT2 L 600).......8721 / 4.65 (DEB_BRED L 600)......40545 / 1.00 (DEB-E2 L 900).........1170 / 51.03 (DEB_PAT1 L 900).......1763 / 33.86 (DEB_GILE2 L 900)......2074 / 28.79 (DEB_GILE1 L 900)......2169 / 27.52 (DEB_PAT2 L 900)......10405 / 5.74 (DEB_BRED L 900)......59701 / 1.00 (defun fin_Bred (lst n / l i) (repeat (- (setq i (length lst)) (1- n)) (setq l (cons (nth (setq i (1- i)) lst) l) n (1+ n) ) ;_ setq ) ;_ repeat l ) ;_ defun (defun fin_pat1 (lst n) (vl-remove-if '(lambda (x) (> (setq n (1- n)) 0)) lst) ) ;_ defun (defun fin_pat2 (lst n / i res) (setq i -1 lst (reverse lst) ) ;_ setq (repeat (1+ (- (length lst) n)) (setq res (cons (nth (setq i (1+ i)) lst) res)) ) ;_ repeat ) ;_ defun (defun fin_gile1 (lst ind) (if (< 1 ind) ; (and lst (< 1 ind)) (fin_gile1 (cdr lst) (1- ind)) lst ) ;_ if ) ;_ defun (defun fin_gile2 (lst ind) (while (< 1 ind) ; (and lst (< 1 ind)) (setq ind (1- ind) lst (cdr lst) ) ;_ setq ) ;_ while ) ;_ defun (defun fin-e (l n) (setq n(1- n)) (repeat (/ n 4) (setq l (cddddr l))) (repeat (rem n 4) (setq l (cdr l))) l ) ;_ defun (fin_gile2 l 1) => nil liste de 10 elements : (FIN_GILE1 L 1).....1576 / 3.04 (FIN-E L 1).........1872 / 2.56 (FIN_PAT2 L 1)......2621 / 1.83 (FIN_BRED L 1)......2715 / 1.76 (FIN_PAT1 L 1)......4789 / 1.00 (FIN_GILE2 L 3).....1482 / 2.40 (FIN_GILE1 L 3).....1560 / 2.28 (FIN-E L 3).........1716 / 2.07 (FIN_PAT2 L 3)......2169 / 1.64 (FIN_BRED L 3)......2325 / 1.53 (FIN_PAT1 L 3)......3557 / 1.00 (FIN_GILE2 L 6).....1669 / 2.22 (FIN_GILE1 L 6).....1701 / 2.17 (FIN-E L 6).........1716 / 2.15 (FIN_PAT2 L 6)......1950 / 1.90 (FIN_BRED L 6)......2013 / 1.84 (FIN_PAT1 L 6)......3697 / 1.00 (FIN_PAT2 L 9)......1825 / 2.14 (FIN-E L 9).........1825 / 2.14 (FIN_BRED L 9)......1841 / 2.12 (FIN_GILE2 L 9).....1934 / 2.02 (FIN_GILE1 L 9).....2012 / 1.94 (FIN_PAT1 L 9)......3900 / 1.00 liste de 100 elements : (FIN_GILE2 L 10)......1965 / 6.30 (FIN-E L 10)..........1981 / 6.24 (FIN_GILE1 L 10)......2106 / 5.87 (FIN_PAT1 L 10).......7754 / 1.60 (FIN_PAT2 L 10)......10983 / 1.13 (FIN_BRED L 10)......12371 / 1.00 (FIN-E L 30).........1061 / 4.48 (FIN_GILE2 L 30).....1514 / 3.14 (FIN_GILE1 L 30).....1606 / 2.96 (FIN_PAT1 L 30)......3136 / 1.52 (FIN_PAT2 L 30)......3946 / 1.21 (FIN_BRED L 30)......4758 / 1.00 (FIN-E L 60).........1217 / 2.63 (FIN_GILE2 L 60).....2200 / 1.45 (FIN_GILE1 L 60).....2434 / 1.31 (FIN_PAT2 L 60)......2574 / 1.24 (FIN_BRED L 60)......3182 / 1.01 (FIN_PAT1 L 60)......3198 / 1.00 (FIN_PAT2 L 90)......1295 / 2.51 (FIN-E L 90).........1342 / 2.42 (FIN_BRED L 90)......1451 / 2.24 (FIN_GILE2 L 90).....2949 / 1.10 (FIN_PAT1 L 90)......3182 / 1.02 (FIN_GILE1 L 90).....3245 / 1.00 liste de 1000 elements : (FIN-E L 100)...........1186 / 87.96 (FIN_GILE2 L 100).......2527 / 41.28 (FIN_GILE1 L 100).......2839 / 36.74 (FIN_PAT1 L 100)........9298 / 11.22 (FIN_PAT2 L 100).......70606 / 1.48 (FIN_BRED L 100)......104318 / 1.00 (FIN-E L 300)..........1170 / 62.44 (FIN_GILE2 L 300)......3510 / 20.81 (FIN_GILE1 L 300)......4493 / 16.26 (FIN_PAT1 L 300).......9220 / 7.92 (FIN_PAT2 L 300)......45630 / 1.60 (FIN_BRED L 300)......73055 / 1.00 (FIN-E L 600)..........1888 / 26.17 (FIN_GILE2 L 600)......6552 / 7.54 (FIN_GILE1 L 600)......8487 / 5.82 (FIN_PAT1 L 600).......9126 / 5.41 (FIN_PAT2 L 600)......19095 / 2.59 (FIN_BRED L 600)......49406 / 1.00 (FIN-E L 900).........1310 / 5.63 (FIN_PAT2 L 900)......1934 / 3.82 (FIN_PAT1 L 900)......4555 / 1.62 (FIN_GILE2 L 900).....4867 / 1.52 (FIN_GILE1 L 900).....6272 / 1.18 (FIN_BRED L 900)......7379 / 1.00 (defun sub_Bred (lst lst-I n) (append (deb_Bred lst n) (list lst-I) (fin_Bred lst (+ n 2))) ) ;_ defun (defun sub_pat1 (lst rpl n) (setq n (1+ n)) (mapcar '(lambda (x) (if (zerop (setq n (1- n))) rpl x ) ;_ if ) ;_ lambda lst ) ;_ mapcar ) ;_ defun (defun sub_pat2 (lst rpl n) (append (deb_pat2 lst n) (list rpl) (fin_pat2 lst (+ n 2))) ) ;_ defun (defun sub_gile1 (lst ele ind) (if (zerop ind) ; (or (zerop ind) (null lst)) (cons ele (cdr lst)) (cons (car lst) (sub_gile1 (cdr lst) ele (1- ind))) ) ;_ if ) ;_ defun (defun sub_gile2 (lst ele ind / ret) (while (< 0 ind) ; (and lst (< 0 ind)) (setq ret (cons (car lst) ret) ind (1- ind) lst (cdr lst) ) ;_ setq ) ;_ while (append (reverse ret) (cons ele (cdr lst))) ) ;_ defun (defun sub-e (l e n / r) (repeat (/ n 4) (setq r (cons (cadddr l) (cons (caddr l) (cons (cadr l) (cons (car l) r))) ) ;_ cons l (cddddr l) ) ;_ setq ) ;_ repeat (repeat (rem n 4) (setq r (cons (car l) r) l (cdr l) ) ;_ setq ) ;_ repeat (append (reverse r) (cons e (cdr l))) ) ;_ defun liste de 10 elements : (SUB_GILE1 L E 1).....1779 / 1.72 (SUB_GILE2 L E 1).....1903 / 1.61 (SUB-E L E 1).........2122 / 1.44 (SUB_PAT1 L E 1)......2418 / 1.26 (SUB_PAT2 L E 1)......2948 / 1.04 (SUB_BRED L E 1)......3057 / 1.00 (SUB_GILE1 L E 3).....1934 / 1.63 (SUB_GILE2 L E 3).....2059 / 1.53 (SUB-E L E 3).........2278 / 1.38 (SUB_PAT1 L E 3)......2371 / 1.33 (SUB_PAT2 L E 3)......2995 / 1.05 (SUB_BRED L E 3)......3151 / 1.00 (SUB_GILE1 L E 6).....1076 / 1.51 (SUB_GILE2 L E 6).....1139 / 1.42 (SUB_PAT1 L E 6)......1185 / 1.37 (SUB-E L E 6).........1185 / 1.37 (SUB_PAT2 L E 6)......1482 / 1.09 (SUB_BRED L E 6)......1622 / 1.00 (SUB_PAT1 L E 9)......1186 / 1.41 (SUB_GILE1 L E 9).....1202 / 1.39 (SUB-E L E 9).........1217 / 1.37 (SUB_GILE2 L E 9).....1248 / 1.34 (SUB_PAT2 L E 9)......1482 / 1.13 (SUB_BRED L E 9)......1669 / 1.00 liste de 100 elements : (SUB_GILE1 L E 10).....1233 / 5.71 (SUB-E L E 10).........1311 / 5.37 (SUB_GILE2 L E 10).....1326 / 5.31 (SUB_PAT1 L E 10)......2792 / 2.52 (SUB_PAT2 L E 10)......6099 / 1.15 (SUB_BRED L E 10)......7036 / 1.00 (SUB-E L E 30).........1701 / 4.67 (SUB_GILE1 L E 30).....1996 / 3.98 (SUB_GILE2 L E 30).....2028 / 3.92 (SUB_PAT1 L E 30)......2808 / 2.83 (SUB_PAT2 L E 30)......5835 / 1.36 (SUB_BRED L E 30)......7941 / 1.00 (SUB-E L E 60).........1108 / 4.66 (SUB_PAT1 L E 60)......1436 / 3.60 (SUB_GILE2 L E 60).....1544 / 3.34 (SUB_GILE1 L E 60).....1576 / 3.28 (SUB_PAT2 L E 60)......2917 / 1.77 (SUB_BRED L E 60)......5164 / 1.00 (SUB_PAT1 L E 90)......1404 / 4.96 (SUB-E L E 90).........1435 / 4.85 (SUB_GILE2 L E 90).....2075 / 3.35 (SUB_GILE1 L E 90).....2122 / 3.28 (SUB_PAT2 L E 90)......3120 / 2.23 (SUB_BRED L E 90)......6958 / 1.00 liste de 1000 elements : (SUB-E L E 100)..........1638 / 28.07 (SUB_GILE1 L E 100)......1825 / 25.19 (SUB_GILE2 L E 100)......2340 / 19.65 (SUB_PAT1 L E 100).......4899 / 9.38 (SUB_PAT2 L E 100)......36286 / 1.27 (SUB_BRED L E 100)......45974 / 1.00 (SUB-E L E 300)..........1997 / 21.43 (SUB_GILE1 L E 300)......3089 / 13.85 (SUB_GILE2 L E 300)......3573 / 11.98 (SUB_PAT1 L E 300).......4821 / 8.88 (SUB_PAT2 L E 300)......19157 / 2.23 (SUB_BRED L E 300)......42791 / 1.00 (SUB-E L E 600)..........1701 / 25.48 (SUB_PAT1 L E 600).......2683 / 16.15 (SUB_GILE1 L E 600)......2980 / 14.54 (SUB_GILE2 L E 600)......3323 / 13.04 (SUB_PAT2 L E 600).......9516 / 4.55 (SUB_BRED L E 600)......43337 / 1.00 (SUB-E L E 900)..........1202 / 32.97 (SUB_PAT1 L E 900).......1342 / 29.53 (SUB_GILE1 L E 900)......2215 / 17.89 (SUB_GILE2 L E 900)......2403 / 16.49 (SUB_PAT2 L E 900).......5928 / 6.68 (SUB_BRED L E 900)......39625 / 1.00 [Edité le 18/7/2008 par ElpanovEvgeniy]
-
liste de 10 elements : (DEB_GILE2 L 4).....1638 / 1.08 (DEB_GILE1 L 4).....1653 / 1.07 (DEB_BTO3 L 4)......1716 / 1.03 (DEB-E2 L 4)........1763 / 1 liste de 10 elements : (DEB-E2 L 8)........1919 / 1.05 (DEB_GILE2 L 8).....1935 / 1.04 (DEB_GILE1 L 8).....1950 / 1.03 (DEB_BTO3 L 8)......2012 / 1 liste de 100 elements : (DEB-E2 L 40)........1576 / 1.38 (DEB_BTO3 L 40)......2121 / 1.02 (DEB_GILE2 L 40).....2137 / 1.01 (DEB_GILE1 L 40).....2168 / 1 liste de 100 elements : (DEB-E2 L 80)........1201 / 1.52 (DEB_GILE2 L 80).....1794 / 1.02 (DEB_BTO3 L 80)......1794 / 1.02 (DEB_GILE1 L 80).....1826 / 1 liste de 1000 elements : (DEB-E2 L 400)........1138 / 1.77 (DEB_BTO3 L 400)......1919 / 1.05 (DEB_GILE2 L 400).....1934 / 1.04 (DEB_GILE1 L 400).....2013 / 1 liste de 1000 elements : (DEB-E2 L 800)........1092 / 1.79 (DEB_GILE2 L 800).....1903 / 1.02 (DEB_BTO3 L 800)......1903 / 1.02 (DEB_GILE1 L 800).....1950 / 1
-
Salut! :) Regardez ma variante faite pour de grandes listes... (defun deb-e2 (l n / r) (repeat (/ n 4) (setq r (cons (cadddr l) (cons (caddr l) (cons (cadr l) (cons (car l) r))) ) ;_ cons l (cddddr l) ) ;_ setq ) ;_ repeat (repeat (rem n 4) (setq r (cons (car l) r) l (cdr l) ) ;_ setq ) ;_ repeat (reverse r) )
-
:)
