Задали задачку в ВУЗе по C#. Программу я сделал, но она работает не совсем правильно. Укажите если можно где косякнулся. Когда "х" вводится действительное, а "а" целое, то прога почему-то выдаёт ошибку. А если ввести оба числа целые, то все работает.
Задача: Ввести целое число N > 0 и вещественное a > 0. Последовательность вещественных чисел определяется следующим образом xn+1=(xn+a/xn)/2. Считая x0=a вывести первые N членов последовательности. Такой способ применяли еще в древнем Вавилоне для вычисления квадратного корня числа a. После выдачи последовательности распечатать значение квадратного корня из a, вычисленное стандартной функцией.
Код:Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication7
{
class Program
{
static void Main(string[] args)
{
double x, a, y; int n;
Console.WriteLine("Введите n");
n = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите a");
a = Convert.ToDouble(Console.ReadLine());
if (n > 0)
{
x = a;
for (a = 1; a <= n; a++)
{
x = (x + a / x) / 2;
Console.WriteLine("x={0}", x);
}
y = Math.Sqrt(n);
Console.WriteLine("Корень:{0}", y);
}
else
Console.WriteLine("n<0!!!");
Console.ReadKey();
}
}
}
Сообщение отредактировал vano11 - 24.11.2014, 11:01