Application, който пресмята и извежда квадратен корен на число.
Как се пише конзолно приложение, което изчислява и извежда квадратен корен на числото 100?
:)
Как се пише конзолно приложение, което изчислява и извежда квадратен корен на числото 100?
:)
Ако идеята ти е да упражниш алгоритъма, то просто вземи един от известните такива, примерно този на Нютон и го приведи в 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() цикъл
Ето какво направих:
using System;
class SquareRoot
{
static void Main()
{
Console.WriteLine("Math.Sqrt(100)");
}
}
Все още не съм пробвал програмата на Microsoft Visual Studio и въпроса ми е: Само "using System", ли, трябва да се използва, защото тук-там чета, че трябвало да се използва и нещо като "using Math"?
:)
Не, Math, също както примерно String е клас от неймспейса System (System.Math, System.String) и можеш да ги викаш след като си импортнал System.
http://msdn.microsoft.com/en-us/library/system.math.sqrt(v=vs.110).aspx
Както се вижда в примерчето, са импортнали само System
Пусни го във VS. Ако нещо не си импортнал, ще изпищи и ще ти предложи да го импортнеш :)