将数组从最低到最高的数字从一个数字中排序,这个数字在数组中很方便地表示。这里的诀窍是,您不能使用任何数组方法,也不能使用其他类型的漏洞。你必须坚持基础(数组,数学运算符/not数学类/,没有递归。您可以使用任何变量类型的选择(例如: String,int),显然是重复的圆木,但是不能使用“高级”表达式,如ArrayList或ParseInt for Java)。
对于2014的用户输入,输出应该是0124是的,必须表示0
一个简单的合作伙伴的挑战,最短的代码获胜。
我已经阅读了相当长一段时间的合作伙伴,并决定创建一个挑战,基于我与java的一个问题,以排序一个数字的数字。我确实设法得到了一个解决方案,但我对它不太满意(它占用了大量的字节,而我想要避免),我对创造性的、短小的读者来反击我自己的=很感兴趣。
发布于 2014-05-10 19:17:16
在球拍中,没有显式递归:-P
(define Y (lambda (f) ((lambda (x) (x x)) (lambda (x) (lambda (y) ((f (x x)) y))))))
(define a (Y (lambda (f) (lambda (c) (cond ((null? c) c)
((null? (cdr c)) c)
((> (car c) (cadr c))
(f (cons (cadr c) (cons (car c) (cddr c)))))
(#t (cons (car c) (f (cdr c)))))))))
(define b (Y (lambda (f) (lambda (c) (let ((s (a c))) (if (equal? s c) c (f s)))))))呼叫:
(b '(2 0 1 4))哪里
Y是Y-组合器a是Bubble排序的一个迭代b是气泡排序算法。https://codegolf.stackexchange.com/questions/26905
复制相似问题