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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5