Liste des Groupes | Revenir à col advocacy |
Where's your code?On Jun 15, 2024 at 3:20:19 PM EDT, "Farley Flud" <ff@linux.rocks> wrote:I actually took the opportunity to install the GMP documentation
>On Sat, 15 Jun 2024 14:29:04 +0000, Farley Flud wrote:>
>
>Write a C program to compute the subfactorial of an integer N.Nobody got it (as predicted).
>
>
Because no one bothered.
on my system, look up what a "subfactorial" is, and do
an implementation that works for !N where N is 0 through 50.
Furled Fart lost the opportunity to show his prowess withNote he also lied "we ignore N = 1, 2 as they are trivial"
the GMP library by not demonstrating use of gmp_printf().
This is all trivial stuff. These math "problems" have already beenIt's more of a "let's learn libgmp" challenge, which is a library
solved multiple times. That you think this is a "programming challenge"
just shows how utterly clueless you are.
that he already has familiarity with. I don't think he learned anything.
And it's not that difficult a library to use.
Hint: people were doing this 60 years ago on mainframes using Fortran.$ time ./try_mpz
That you have only now discovered this proves AGAIN how utterly clueless
you are.
What's next? Compute Pi to a million decimal places? That also has
already been done many times. Sounds like another great "programming
challenge" for your feeble brain.
0:1
1:0
2:1
3:2
4:9
5:44
[...]
49:223774392215649610092605161415154686480227084177314431854406736
50:11188719610782480504630258070757734324011354208865721592720336801
>
real 0m0.002s
user 0m0.001s
sys 0m0.001s
I also was interested in the recursive version. Here's the
run with N=50 with long long int's, which gives the wrong answer
due to overflow:
$ time ./try2
7531320031745615777
real 0m35.541s
user 0m35.530s
sys 0m0.001s
So: don't bother with the recursive version, except as
a pedantic exercize.
*Do* use GMP if you ever need to work with big numbers...
maybe numpy in Python can do the same thing, I wouldn't
know about that.
$ ll /usr/share/doc/gmp-doc/gmp.pdf.gz
-rw-r--r-- 1 root root 812615 Nov 16 2020 /usr/share/doc/gmp-doc/
gmp.pdf.gz
$ grep FLAGS Makefile
CFLAGS=-Wall -O3 -g -Wpedantic
Les messages affichés proviennent d'usenet.