Math::Zählen sieht ein wenig albern aus (ich meine Studenten gegen Technik Modi?) Die real Faktorielle Funktion, die vom Modul bereitgestellt wird, bfact
ist eine dünne Hülle um Math::BigInt::bfac
. Verwenden Sie also einfach Math::BigInt .
#!/usr/bin/env perl
use strict; use warnings;
use Math::BigInt();
print Math::BigInt->bfac('300'), "\n";
Ausgabe:
30605751221644063603537046129726862938858880417357699941677674125947653317671686
74655152914224775733499391478887017263688642639077590031542268429279069745598412
25476930271954604008012215776252176854255965356903506788725264321896264299365204
57644883038890975394348962543605322598077652127082243763944912012867867536830571
22936819436499564604981664502277165001851765464693401122260347297240663332585835
06870150169794168850353752137554910289126407157154830282284937952636580145235233
15693648223343679925459409527682060806223281238738388081704960000000000000000000
0000000000000000000000000000000000000000000000000000000
Nein , Ich habe das Ergebnis nicht verifiziert .
Wie andere bereits festgestellt haben, Math::Counting
hat:
our @ISA = qw(Exporter);
our @EXPORT = qw(
factorial permutation combination
bfact bperm bcomb
);
aber es gibt keine require
Ausführer .
Tatsächlich ist es nicht erforderlich, dass dieses Modul erben vom Exporteur. Eine einfache:
use Exporter 'import';
wäre ausreichend gewesen. Außerdem gibt es wirklich keinen Grund, den Namespace eines Benutzers dieses Moduls standardmäßig zu verschmutzen, also sollte es reichen:
our @EXPORT = ();
our @EXPORT_OK = qw(
factorial permutation combination
bfact bperm bcomb
);
Wozu sonst die Definition von %EXPORT_TAGS
?