Переполнение стека - 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);
}