Loading...
RoYaL avatar RoYaL Trainer 6849 Точки

Ако идеята ти е да упражниш алгоритъма, то просто вземи един от известните такива, примерно този на Нютон и го приведи в 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 Trainer 6849 Точки

Не, 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
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.