Re: palindromic number

Liste des GroupesRevenir à cl lisp 
Sujet : Re: palindromic number
De : Nobody447095 (at) *nospam* here-nor-there.org (B. Pym)
Groupes : comp.lang.lisp comp.lang.scheme
Date : 15. Sep 2024, 06:26:58
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vc5nmc$1vnei$1@dont-email.me>
References : 1
User-Agent : XanaNews/1.18.1.6
B. Pym wrote:

"A palindromic number reads the same both ways. The largest
palindrome made from the product of two 2-digit numbers is 9009
= 91 x 99. Find the largest palindrome made from the product of
two 3-digit numbers."
 
 
Gauche Scheme
 
(use srfi-13)  ;; string-reverse
 
(define (divisor? n m) (= 0 (mod m n)))
 
"We don't need no stinkin' loops!"
 
(define (prod-of-3-dig-nums? n)
  (let1 sq (exact-integer-sqrt n)
    (any (is divisor? n) (lrange sq 999))))
 
(define (good? n)
  (let1 s (number->string n)
    (and (equal? s (string-reverse s))
         (prod-of-3-dig-nums? n))))
 
(find good? (lrange 998001 0 -1))
  ===>
906609
 
Given:
 
(define-syntax is
  (syntax-rules ()
    [(is x)
     (lambda (y) (equal? y x))]
    [(is compare x)
     (lambda (y) (compare y x))]
    [(is key compare x)
     (lambda (y) (compare (key y) x))]))


"Each new term in the Fibonacci sequence is generated by adding
the previous two terms. By starting with 1 and 2, the first 10
terms will be: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... By
considering the terms in the Fibonacci sequence whose values do
not exceed four million, find the sum of the even-valued terms."

(do ((a 1 b)
     (b 2 (+ a b))
     (s 0 (if (even? a) (+ a s) s)))
  ((> a 4000000)  s))

 ===>
4613732

Date Sujet#  Auteur
15 Sep01:18 * palindromic number3B. Pym
15 Sep06:26 +- Re: palindromic number1B. Pym
15 Sep07:02 `- Re: palindromic number1B. Pym

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal