Софтуерно Инженерство
Loading...
+ Нов въпрос
RoYaL avatar RoYaL SoftUni Team Trainer 6883 Точки

Ако идеята ти е да упражниш алгоритъма, то просто вземи един от известните такива, примерно този на Нютон и го приведи в C# код.

http://en.wikipedia.org/wiki/Newton%27s_method

Представям си го нещо такова:

static double CalculateSqrt(double num, double guess = 10)

{

     guess = (guess - ((guess * guess) - num) / (2 * guess));

     if ((guess * guess) == num || Math.Ceiling(guess * guess) == num)

     {

           return guess;

     }

     return CalculateSqrt(num, guess);

}

 

Не съм го пробвал, че го написах директно във форума, но идеята е че пробваш първо както е по метода - с initial guess от 10. Ако се получи това да е коренът - връщаш този guess. Ако не се получи, guess-а ще се промени, подаваш го пак на метода, т.е. го викаш рекурсивно, вече с новия guess, който не е 10. Ако се получи - ще върне новия guess. Ако не - ще го подаде на себе си отново и така докато guess-а стане реално коренът.

 

Разбира се, в съвременните езици са ни улеснили с готова функция за това, както колегите казаха - Sqrt() метода.

 

Конзолното ти приложение ще трябва да отпечатва това, което връща метода. Т.е. Console.WriteLine(CalculateSqrt(100));

 

EDIT:

Рекурсията по-горе може да се замести с while() цикъл

0
28/10/2014 16:50:10
tsvetoslav.eau avatar tsvetoslav.eau -26 Точки

Ето какво направих:

using System;

class SquareRoot

{

  static void Main()

  {

    Console.WriteLine("Math.Sqrt(100)");

   }

}

 

Все още не съм пробвал програмата на Microsoft Visual Studio и въпроса ми е: Само "using System", ли, трябва да се използва, защото тук-там чета, че трябвало да се използва и нещо като "using Math"?

:)

0
RoYaL avatar RoYaL SoftUni Team Trainer 6883 Точки

Не, Math, също както примерно String е клас от неймспейса System (System.Math, System.String) и можеш да ги викаш след като си импортнал System.

http://msdn.microsoft.com/en-us/library/system.math.sqrt(v=vs.110).aspx

Както се вижда в примерчето, са импортнали само System

 

Пусни го във VS. Ако нещо не си импортнал, ще изпищи и ще ти предложи да го импортнеш :)

0