public static void main(String[] args) { Fib f = new Fib(); while (true) { int i = f.next(); System.out.print(i + "\t"); if (i > 2000) { break; } } }
public static BigInteger findLowestValAt1(BigInteger target) { for (BigInteger i = BigInteger.ONE; i.compareTo(target) < 0; i = i.add(BigInteger.ONE)) { if (Fib.contains(i, target)) { return i; } } return target; }
public static int findLowestValAt1(int target) { for (int i = 1; i < target; i++) { if (Fib.contains(i, target)) { return i; } } return target; }
public static void main(String[] args) { try { int procs; int num; try { procs = Integer.parseInt(args[0]); num = Integer.parseInt(args[1]); if (args.length > 2) sequentialThreshold = Integer.parseInt(args[2]); } catch (Exception e) { System.out.println("Usage: java Fib <threads> <number> [<sequntialThreshold>]"); return; } FJTaskRunnerGroup g = new FJTaskRunnerGroup(procs); Fib f = new Fib(num); g.invoke(f); g.stats(); long result = f.getAnswer(); System.out.println("Fib: Size: " + num + " Answer: " + result); } catch (InterruptedException ex) { } }
public static String sequence(int target) { if (target == 0) return "0"; int valat1 = Fib.findLowestValAt1(target); String ret = "0 " + valat1 + " "; if (target == valat1) return ret.trim(); int valat0 = 0; int current = valat0 + valat1; do { ret += current + " "; valat0 = valat1; valat1 = current; current = valat0 + valat1; } while (current <= target); return ret.trim(); }
public static String sequence(BigInteger target) { if (target.compareTo(new BigInteger("2147483647")) < 0) return sequence(target.intValue()); // this actually does need to be handled as a big integer BigInteger valat1 = Fib.findLowestValAt1(target); String ret = "0 " + valat1 + " "; if (target.equals(valat1)) return ret.trim(); BigInteger valat0 = BigInteger.ZERO; BigInteger current = valat0.add(valat1); do { ret += current + " "; valat0 = valat1; valat1 = current; current = valat0.add(valat1); } while (current.compareTo(target) <= 0); return ret.trim(); }
public static void main(String[] args) { System.out.printf("result: 0x%08x\n", Fib.fib(5)); System.out.printf("result: 0x%08x\n", Fib.fib(6)); }