Arbitrary-precision integers (included): Difference between revisions
Arbitrary-precision integers (included) (view source)
Revision as of 22:35, 12 April 2024
, 1 month ago→{{header|langur}}
(→{{header|Vlang}}: Rename "Vlang" in "V (Vlang)") |
Langurmonkey (talk | contribs) |
||
(21 intermediate revisions by 9 users not shown) | |||
Line 1,025:
=={{header|Fōrmulæ}}==
{{FormulaeEntry|page=https://formulae.org/?script=examples/Arbitrary-precision_integers_%28included%29}}
'''Solution'''
In the following script, the result is converted to a string, in order to calculate its size, and its first/last digits.
[[File:Fōrmulæ - Arbitrary-precision integers (included) 01.png]]
[[File:Fōrmulæ - Arbitrary-precision integers (included) 02.png]]
=={{header|GAP}}==
Line 1,196 ⟶ 1,200:
"62060698786608744707"
julia> bigstr[end-
"
=={{header|Klong}}==
Line 1,219 ⟶ 1,223:
<pre>
5^4^3^2 = 62060698786608744707...92256259918212890625 and has 183231 digits
</pre>
=={{header|Lambdatalk}}==
Just using Javascript's BigInt
<syntaxhighlight lang="Scheme">
{def N {BI.** 5 {BI.** 4 {BI.** 3 2}}}} -> N
length: {def L {W.length {N}}} -> L = 183231
20 first digits: {W.slice 0 20 {N}} -> 62060698786608744707
20 last digits: {W.slice -20 {L} {N}} -> 92256259918212890625
</syntaxhighlight>
=={{header|langur}}==
Arbitrary precision is native in langur.
<syntaxhighlight lang="langur">val .xs = string 5 ^ 4 ^ 3 ^ 2
val .len = len .xs
writeln .len, " digits"
if .len > 39 and s2s(.xs, 1..20) == "62060698786608744707" and
s2s(.xs, .len-19 .. .len) == "92256259918212890625" {
writeln "SUCCESS"
}
</syntaxhighlight>
{{out}}
<pre>183231 digits
SUCCESS
</pre>
Line 1,932 ⟶ 1,965:
=={{header|Raku}}==
(formerly Perl 6)
{{works with|Rakudo|
<syntaxhighlight lang="raku" line>
given [**] 5, 4, 3, 2 {
use Test;
ok /^ 62060698786608744707 <digit>* 92256259918212890625 $/,
'5**4**3**2 has expected first and last twenty digits';
printf 'This number has %d digits', .chars;
}</syntaxhighlight>
{{out}}
<pre>ok 1 - 5**4**3**2
This number has 183231 digits</pre>
=={{header|REXX}}==
Line 2,134 ⟶ 2,172:
=={{header|Sidef}}==
<syntaxhighlight lang="ruby">var x = 5**(4**(3**2))
var y = x.to_s
printf("5**4**3**2 =
{{out}}
<pre>
Line 2,300 ⟶ 2,338:
MainModule: {
(textout to: ss (pow a (pow 4 (pow 3 2))))
(= s (str ss))
Line 2,470 ⟶ 2,504:
{{libheader|Wren-fmt}}
{{libheader|Wren-big}}
<syntaxhighlight lang="
import "./big" for BigInt
var p = BigInt.three.pow(BigInt.two)
Line 2,494 ⟶ 2,528:
pub fn main() !void {
var
▲ try a.pow(a.toConst(), try std.math.powi(u32, 4, try std.math.powi(u32, 3, 2)));
defer a.deinit();
var as = try a.toString(
defer
std.debug.print("{s}...{s}\n", .{ as[0..20], as[as.len - 20 ..] });
|