import java.util.Scanner;
public class Task5 {
private static void stack(int x) {
if (x == 0) return;
stack(x - 1);
if (x % 35 == 0) {
System.out.println();
}
System.out.print(x " ");
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter number: ");
int x = sc.nextInt();
stack(x);
}
}
任何大于 9200 的數字都會導致堆疊溢位錯誤。是因為遞回呼叫回圈太多次了嗎?
uj5u.com熱心網友回復:
是的,您遇到了溢位,因為您的遞回堆疊因大量輸入而變得非常深。這個函式沒有理由需要遞回,我建議使用回圈實作迭代版本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/371666.html
下一篇:遞回求解網格的演算法
