From mboxrd@z Thu Jan 1 00:00:00 1970
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
ip-172-31-65-14.ec2.internal
X-Spam-Level:
X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00,T_SCC_BODY_TEXT_LINE
autolearn=ham autolearn_force=no version=3.4.6
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Ben Bacarisse
Newsgroups: comp.lang.ada
Subject: Re: project euler 29
Date: Mon, 18 Sep 2023 00:08:05 +0100
Organization: A noiseless patient Spider
Message-ID: <87ediwl7oq.fsf@bsb.me.uk>
References:
<874jjvmoi9.fsf@bsb.me.uk>
<87sf7dltq0.fsf@bsb.me.uk> <87jzsplr49.fsf@bsb.me.uk>
<715fe49a-47bc-46be-ae26-9ed89b38bcb5n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="4a1f049c3c0d7d3aa42e2e5e10f8a54b";
logging-data="624817"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1945EvsoBFspCKfzzgswJJ7SuJI6EVlQWU="
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Cancel-Lock: sha1:tUb53hYHU1WDMiTqrKbweSZS6+A=
sha1:O+6sNKy7Dpll0zNIv+cY+8wTG3k=
X-BSB-Auth: 1.20123c5add9ec73cc8d4.20230918000805BST.87ediwl7oq.fsf@bsb.me.uk
Xref: news.eternal-september.org comp.lang.ada:65671
List-Id:
Francesc Rocher writes:
> El dia dissabte, 16 de setembre de 2023 a les 23:56:11 UTC+2, Ben Bacarisse va escriure:
>> Ben Bacarisse writes:
>>
>> > Francesc Rocher writes:
>> >
>> >> El dia divendres, 15 de setembre de 2023 a les 17:42:43 UTC+2, Ben Bacarisse va escriure:
>> >>> "CSYH (QAQ)" writes:
>> >>>
>> >>> > Now this time, I am facing trouble for problem #29. As I know integer
>> >>> > type is for 32 bits. but for this problem as me to find out the 2 **
>> >>> > 100 and even 100 ** 100. I used python to get the answer correctly in
>> >>> > 5 minutes.
>> >>
>> >>> Most of the Project Euler problems have solutions that are not always
>> >>> the obvious one (though sometimes the obvious one is the best). You
>> >>> can, of course, just use a big number type (or write your own!) but this
>> >>> problem can be solved without having to use any large numbers at all.
>> >>
>> >> Please take a look at this solution:
>> >> https://github.com/rocher/alice-project_euler-rocher/blob/main/src/0001-0100/p0029_distinct_powers.adb
>> >
>> > Why?
>> That came over as rather curt. I meant what is it about the code that
>> you are drawing my attention to -- its particular use of Ada, its
>> structure, the algorithm, the performance...? What (and where) is
>> Euler_Tools?
>
> Well, I was sending the answer to the thread, not to anyone in
> particular.
I see.
> I simply thought that, since you mention that this can be solved
> without having to use big numbers, people in this group could be
> interested in seeing how. My solution to this problem dates back to
> earlier this year, when I solved the first 30 problems of Project
> Euler.
>
> Euler_Tools is a repository of functions that I'm collecting while
> solving new problems of Project Euler. In case you want to take a
> look, https://github.com/rocher/euler_tools
I was more interested to see if I could compile your code to compare
timings etc, but I don't know how to put the pieces together.
> Also, do you have a different approach to solve this 29th problem?
Yes, but it's not in Ada. I implemented an equality test for a^b ==
c^d.
--
Ben.