Re: The "Strand" puzzle --- ( Continued Fractions using Lisp orPython? )

Liste des GroupesRevenir à cl lisp 
Sujet : Re: The "Strand" puzzle --- ( Continued Fractions using Lisp orPython? )
De : Nobody447095 (at) *nospam* here-nor-there.org (B. Pym)
Groupes : comp.lang.lisp comp.lang.scheme
Date : 02. Aug 2024, 14:47:00
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v8ikg2$2qrts$1@dont-email.me>
References : 1 2 3 4
User-Agent : XanaNews/1.18.1.6
B. Pym wrote:

e.g. -------- For the (street)  Numbers (1,2,3,4,5,6,7,8)
 
       (1,2,3,4,5)  and  (7,8)  both add up to 15.
 
 
 
"In a given street of houses with consecutive numbers between
50 and 500, find the house number, for which, the sum of
numbers on the left is equal to the sum of numbers on the
right"
 
Gauche Scheme
 
(define (strand lst)
  (let go ((left-sum 0) (tail lst))
    (if (null? tail)
      #f
      (let ((right-sum (fold + 0 (cdr tail))))
        (cond ((< left-sum right-sum)
               (go (+ left-sum (car tail)) (cdr tail)))
              ((= left-sum right-sum) (car tail))
              (#t #f))))))
 
(strand '(1 2 3 4 5 6 7 8))
  ===>
6
 
(lrange 2 5)
  ===>
(2 3 4)
 
(any
  (lambda (n)
    (if (strand (lrange 50 n))
      n
      #f))
  (lrange 500 50 -1))
  ===>
352
 
(strand (lrange 50 352))
 ===>
251


Faster:

(define (strand lst)
  (let go ((left-sum 0) (right-sum (fold + 0 (cdr lst))) (tail lst))
    (cond ((< left-sum right-sum)
           (go (+ left-sum (car tail))
               (- right-sum (cadr tail))
               (cdr tail)))
          ((= left-sum right-sum) (car tail))
          (else  #f))))


Date Sujet#  Auteur
29 Jul 24 * Re: The "Strand" puzzle --- ( Continued Fractions using Lisp or Python? )10HenHanna
1 Aug 24 `* Re: The "Strand" puzzle --- ( Continued Fractions using Lisp orPython? )9B. Pym
1 Aug 24  +- Re: The "Strand" puzzle --- ( Continued Fractions using Lisp orPython? )1Madhu
1 Aug 24  +* Re: The "Strand" puzzle --- ( Continued Fractions using Lisp orPython? )4HenHanna
1 Aug 24  i+- Re: The "Strand" puzzle --- ( Continued Fractions using Lisp orPython? )1Moebius
3 Aug 24  i`* Re: The "Strand" puzzle --- ( Continued Fractions using Lisp orPython? )2Madhu
3 Aug 24  i `- Re: The "Strand" puzzle --- ( Continued Fractions using Lisp orPython? )1HenHanna
2 Aug 24  +* Re: The "Strand" puzzle --- ( Continued Fractions using Lisp orPython? )2B. Pym
3 Aug 24  i`- Re: The "Strand" puzzle --- ( Continued Fractions using Lisp orPython? )1B. Pym
4 Aug 24  `- Re: The "Strand" puzzle --- ( Continued Fractions using Lisp orPython? )1B. Pym

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal