TPK algorithm: Difference between revisions

Content deleted Content added
Implementations: provided Java 5 implementation that uses List collection
Line 105:
</source>
Haskell uses monads for input/output and the Maybe data type to signal overflow.
 
===[[Java_(programming_language)|Java 5]]===
<source lang="java">
import static java.util.Collections.reverse;
 
import java.util.LinkedList;
import java.util.Scanner;
 
public class TrabbPardoKnuth {
private static double f(double x) {
return Math.sqrt(Math.abs(x)) + 5 * Math.pow(x, 3);
}
 
public static void main(String[] args) {
LinkedList<Double> numbers = new LinkedList<Double>();
Scanner scanner = new Scanner(System.in);
try {
for (int i = 0; i < 11; ++i) {
numbers.add(scanner.nextDouble());
}
} finally {
scanner.close();
}
assert (numbers.size() == 11) : "input should be eleven numbers";
reverse(numbers);
for (double number : numbers) {
Double fx = f(number);
if (fx.isInfinite()) {
System.out.println("TOO LARGE");
} else {
System.out.println(fx);
}
}
}
}
</source>
 
===[[Lua (programming language)|Lua]]===