P-Adic numbers, basic: Difference between revisions
m
→{{header|Raku}}: insignificant changes
m (→{{header|Raku}}: insignificant changes) |
|||
Line 1,602:
<lang perl6># 20210225 Raku programming solution
class Padic { has @.v is default([]) is rw ;▼
▲class Padic { has @.v is rw ;
method r2pa (Rat \x, \p, \d) { # Reference: math.stackexchange.com/a/1187037▼
while +self.v < d {
my %d =
for %d.keys { self.v.unshift: $_ and last if %d{$_} != 0 }
}
self.v
}
method add (Padic \x, \p) {
my $div = 0;
reverse gather for ( self.v.reverse Z x.v.reverse )».sum {
take (
}
}
}
given my $a = Padic.new
given my $b = Padic.new
say $a.add: $b, 7;
given my $c = Padic.new
▲say $c.v;</lang>
{{out}}
<pre>[4 2 4 2 4 2 4 2 4 2 5]
|