Left factorials: Difference between revisions

no edit summary
No edit summary
Line 1,168:
Left factorial of 29= 316196664211373618851684940314
Left factorial of 30= 9157958657951075573395300940314
</pre>
 
=={{header|PowerShell}}==
{{works with|PowerShell|4.0}}
<lang PowerShell>
function left-factorial ([BigInt]$n) {
[BigInt]$k, [BigInt]$fact = ([BigInt]::Zero), ([BigInt]::One)
[BigInt]$lfact = ([BigInt]::Zero)
while($k -lt $n){
if($k -gt ([BigInt]::Zero)) {
$fact = [BigInt]::Multiply($fact, $k)
$lfact = [BigInt]::Add($lfact, $fact)
} else {
$lfact = ([BigInt]::One)
}
$k = [BigInt]::Add($k, [BigInt]::One)
}
$lfact
}
0..9 | foreach{
$vk
"!$_ = $(left-factorial $_)"
}
for($i = 10; $i -le 110; $i += 10) {
"!$i = $(left-factorial $i)"
}
for($i = 1000; $i -le 10000; $i += 1000) {
$digits = [BigInt]::Log10($(left-factorial $i))
$digits = [Math]::Floor($digits) + 1
if($i -ne 0) {"!$i has $digits digits"}
else {"!$i has $digits digit"}
}
</lang>
<b>Output:</b>
<pre>
!0 = 0
!1 = 1
!2 = 2
!3 = 4
!4 = 10
!5 = 34
!6 = 154
!7 = 874
!8 = 5914
!9 = 46234
!10 = 409114
!20 = 128425485935180314
!30 = 9157958657951075573395300940314
!40 = 20935051082417771847631371547939998232420940314
!50 = 620960027832821612639424806694551108812720525606160920420940314
!60 = 141074930726669571000530822087000522211656242116439949000980378746128920420940314
!70 = 173639511802987526699717162409282876065556519849603157850853034644815111221599509216528920420940314
!80 = 9060895879876953465345168046502906376940248300119563651843276746197520942896963148820085319918409223365289204
20940314
!90 = 1669557007262421076703416768839462336073351516357586413634591033592403996240486951022572307223584266878750799
3136908442336528920420940314
!100 = 942786239765826579160595268206839381354754349601050974345395410407078230249590414458830117442618180732911203
520208889371641659121356556442336528920420940314
!110 = 145722981061585297004706728001906071948635199234860720988658042536179281328615541936083296163475394237524337
422204397431927131629058103519228197429698252556442336528920420940314
!1000 has 2565 digits
!2000 has 5733 digits
!3000 has 9128 digits
!4000 has 12670 digits
!5000 has 16322 digits
!6000 has 20062 digits
!7000 has 23875 digits
!8000 has 27749 digits
!9000 has 31678 digits
!10000 has 35656 digits
</pre>
 
678

edits