Java. How to program, 9th edition, Deitel and Deitel、ページ771:
// Fig. 18.5: FibonacciCalculator.java
// Recursive Fibonacci method.
import java.math.BigInteger;
public class FibonacciCalculator
{
private static BigInteger TWO = BigInteger.valueOf(2);
// Recursive declaration of method fibonacci
public static BigInteger fibonacci(BigInteger number)
{
if (number.equals(BigInteger.ZERO) ||
number.equals(BigInteger.ONE)) // Base cases
return number;
else // Recursion step
return fibonacci(number.subtract(BigInteger.ONE)).add(
fibonacci(number.subtract(TWO)));
} // end method fibonacci
// Displays the Fibonacci values from 0-40
public static void main(String[] args)
{
for (int counter = 0; counter <= 40; counter++)
System.out.printf("Fibonacci of %d is: %d\n", counter,
fibonacci(BigInteger.valueOf(counter)));
} // End main()
} // end class FibonacciCalculator
私はこのことができます願っています。
スタックサイズの増加は、1MBのスタックサイズのために、このように、-Xssコマンドを使用して行われます。-Xss1m –
お使いのホストコンピュータは、任意の特定の時点でメモリに多かれ少なかれプログラムを実行している可能性があります。あなたのプログラムで利用可能なメモリは常に一定であるとは思わないはずです。 – Tejs
@Tejs:実際には、スタックサイズが一定であると思われます。これが他のプログラムのメモリ要件を妨げる場合は、そのページングを使用して必要なメモリを持つすべてのプログラムの錯覚を作成します。これまで私はOPの疑問を理解することができます。 –