Переполнение стека - C# (215765)
Формулировка задачи:
почему возникает переполнение стека (при вводе любого больше 1 числа)?
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static double rec(double n) { if (n == 1) { return 1; } else { return rec((n / 2)+1); } } static void Main(string[] args) { double n = Convert.ToDouble(Console.ReadLine()); double a = rec(n); Console.WriteLine(a); } } }
Решение задачи: «Переполнение стека»
textual
Листинг программы
if (Math.Pow(2, n - 1) > n || n > Math.Pow(2, n)) { return rec((n/2)+1); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д