Deutsch English Français Italiano |
<v8pd42$fdbc$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.nobody.at!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "B. Pym" <Nobody447095@here-nor-there.org> Newsgroups: comp.lang.lisp Subject: Re: Euler 14. Date: Mon, 5 Aug 2024 02:24:03 -0000 (UTC) Organization: A noiseless patient Spider Lines: 54 Message-ID: <v8pd42$fdbc$1@dont-email.me> References: <v34fp4$iunh$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Injection-Date: Mon, 05 Aug 2024 04:24:04 +0200 (CEST) Injection-Info: dont-email.me; posting-host="7494c0c807b5ee450e56fbedd80570a2"; logging-data="505196"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Rm5ExhsFl7fXLjMydCrGw" User-Agent: XanaNews/1.18.1.6 Cancel-Lock: sha1:EJJ2FGE9G+rvWcdY48zsuhEBDrY= Bytes: 2135 B. Pym wrote: > The following iterative sequence is defined for the set of positive > integers: > > n -> n/2 (n is even) > n -> 3n + 1 (n is odd) > > Using the rule above and starting with 13, we generate the following > sequence: > > 13 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1 > > It can be seen that this sequence (starting at 13 and > finishing at 1) contains 10 terms. Although it has not been > proved yet (Collatz Problem), it is thought that all starting > numbers finish at 1. > > Which starting number, under one million, produces the longest chain? > > NOTE: Once the chain starts the terms are allowed to go above one > million. > > > Gauche Scheme > > (use gauche.collection) ;; find-max > > > (define (cltz n) (if (odd? n) (+ 1 (* n 3)) (/ n 2))) > > (define (d c n) > (if (= n 1) c (d (+ 1 c) (cltz n)))) > > (find-max (lrange 1 1000000) :key (pa$ d 1)) > > ===> > 837799 newLISP (define (cltz n) (if (odd? n) (+ 1 (* n 3)) (/ n 2))) (define (d c n) (if (= n 1) c (d (+ 1 c) (cltz n)))) (local (best-n best-cnt cnt) (for (n 1 999999) (setq cnt (d 1 n)) (if (> cnt best-cnt) (setq best-n n best-cnt cnt))) (list best-n best-cnt)) (837799 525)