P-Adic numbers, basic: Difference between revisions
m
Improbved code.
m (Improved code.) |
m (Improbved code.) |
||
Line 1,688:
=={{header|Java}}==
This example displays p-adic numbers in standard mathematical format, consisting of a possibly infinite list of digits extending leftwards from the p-adic point. p-adic numbers are given correct to O(prime^40) and the rational reconstruction is correct to O(prime^20).
<syntaxhighlight lang="java">
import java.util.ArrayList;
Line 1,876:
public String toString() {
List<Integer> numbers = new ArrayList<Integer>(digits);
Collections.reverse(numbers);▼
padWithZeros(numbers);
▲ Collections.reverse(numbers);
String numberString = numbers.stream().map(String::valueOf).collect(Collectors.joining());
StringBuilder builder = new StringBuilder(numberString);
Line 1,884:
for ( int i = 0; i < order; i++ ) {
builder.append("0");
builder.deleteCharAt(0);▼
}
Line 1,890 ⟶ 1,889:
} else {
builder.insert(builder.length() + order, ".");
while ( builder.toString().endsWith("0") ) {
}
}
return " ..." + builder.toString().substring(builder.length() - PRECISION -
}
Line 2,026 ⟶ 2,029:
<pre>
3-adic numbers:
-5 / 9 => ...
47 / 12 => ...
sum => ...
Rational = 121 / 36
7-adic numbers:
5 / 8 => ...
353 / 30809 => ...
sum => ...
Rational = 156869 / 246472
</pre>
|