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.