From: Ben Bacarisse <ben.usenet@bsb.me.uk>
Subject: Re: project euler 26
Date: Mon, 04 Sep 2023 17:01:04 +0100 [thread overview]
Message-ID: <878r9mudvj.fsf@bsb.me.uk> (raw)
In-Reply-To: ud4j5l$1fo57$1@dont-email.me
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
> On 2023-09-04 13:06, Niklas Holsti wrote:
>> On 2023-09-04 12:19, CSYH (QAQ) wrote:
>>> I am new to Ada, I know is there a good way to start this program?
>>> thanks
>>> https://projecteuler.net/problem=26
>> First invent/discover the method (algorithm) for solving the problem,
>> without thinking about the programming language.
>> I don't think any language has built-in features that would lead to a
>> direct solution, although some functional language with lazy evaluation
>> could come close, because such languages can manipulate unbounded
>> (potentially infinite) sequences of values. Such sequences can be handled
>> in Ada, too, but with more effort -- they are not "built in" to Ada.
>
> Infinite division does not require big numbers, which Ada 22 has, but I
> wound not use them anyway because the performance would be abysmal.
>
> BTW, Ada is perfect for numeric algorithms no need to resort to functional
> mess... (:-))
Perfect? That's a bold claim!
Mind you, I don't think this problem is really a numerical one in that
sense. It needs some simple integer arithmetic but then every language
is perfect for that sort of arithmetic.
Using a functional mess (Haskell) a simple, native solution (i.e. using
no modules) is only 9 lines long.
I don't want to start a language war. Ada is just more 'wordy' by
deliberate design so a simple Ada solution is inevitably going to be
longer in terms of lines. Rather my purpose in posting is to steer the
OP away from thinking of this as a numerical problem in the classical
sense. It really isn't.
--
Ben.
next prev parent reply other threads:[~2023-09-04 16:01 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-04 9:19 project euler 26 CSYH (QAQ)
2023-09-04 11:06 ` Niklas Holsti
2023-09-04 12:39 ` Dmitry A. Kazakov
2023-09-04 16:01 ` Ben Bacarisse [this message]
2023-09-04 19:20 ` Dmitry A. Kazakov
2023-09-04 20:18 ` Ben Bacarisse
2023-09-04 21:00 ` Dmitry A. Kazakov
2023-09-04 23:16 ` Ben Bacarisse
2023-09-05 7:23 ` Dmitry A. Kazakov
2023-09-05 15:18 ` Ben Bacarisse
2023-09-05 17:08 ` Dmitry A. Kazakov
2023-09-06 1:10 ` Ben Bacarisse
2023-09-06 7:06 ` Dmitry A. Kazakov
2023-09-06 15:16 ` Ben Bacarisse
2023-09-06 15:54 ` Dmitry A. Kazakov
2023-09-06 23:32 ` Ben Bacarisse
2023-09-07 9:02 ` Dmitry A. Kazakov
2023-09-08 1:32 ` Ben Bacarisse
2023-09-08 7:23 ` Dmitry A. Kazakov
2023-09-09 0:25 ` Ben Bacarisse
2023-09-09 9:32 ` Dmitry A. Kazakov
2023-09-10 1:20 ` Ben Bacarisse
2023-09-10 8:46 ` Dmitry A. Kazakov
2023-09-10 19:22 ` Ben Bacarisse
2023-09-11 6:53 ` Dmitry A. Kazakov
2023-09-11 16:13 ` Ben Bacarisse
2023-09-12 7:17 ` Dmitry A. Kazakov
2023-09-13 12:24 ` Ben Bacarisse
2023-09-14 6:33 ` Dmitry A. Kazakov
2023-09-14 14:30 ` Ben Bacarisse
2023-09-08 6:09 ` G.B.
2023-09-08 21:02 ` Ben Bacarisse
2023-09-09 8:13 ` G.B.
2023-09-09 21:04 ` Ben Bacarisse
2023-09-10 9:11 ` Dmitry A. Kazakov
2023-09-05 17:35 ` moi
2023-09-04 14:23 ` Dmitry A. Kazakov
2023-09-07 7:31 ` Francesc Rocher
2023-09-15 9:07 ` CSYH (QAQ)
2023-09-19 7:59 ` comp.lang.ada
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox