using System;
namespace lab3
{
class Program
{
static void Main(string[] args)
{
double x1 = 58;
double y1 = 612;
double x2 = 67;
double y2 = 84;
double p = 751;
//y^2 = x^3-x+1(mod751)
Console.WriteLine($"P({x1},{y1})");
Console.WriteLine($"Q({x2},{y2})");
Console.WriteLine($"p={p}");
double l = Math.Pow(((y2-y1)/(x2-x1)),p);
Console.WriteLine(l);
double x3= Math.Pow((l*l - x1 - x2),p);
Console.WriteLine(x3);
double y3 = Math.Pow((l*(x1-x3)-y1),p);
Console.WriteLine(y3);
Console.ReadKey();
}
}
}
Помогите с вопросом почему консоль выводит ? где ошибка?
Потому что не хватает точности, в .NET
значение double
может быть равно от -1.7976931348623157E+308
до 1.7976931348623157E+308
, тогда как в вашей программе происходит расчет числа примерно равного -1.1E+1328
, поэтому оно и округляется в -Infinity
.
Если вам нужны настолько большие числа, то для целых чисел, есть BigInteger. В вашем конкретном примере он поможет (если пренебречь точность).
Для вещественных чисел в интернете можно поискать обертки поверх BigInteger
, но насколько они хорошие я не знаю.
Также можно посмотреть в сторону оберток для GMP.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я получаю порядковые номера определенных дней недели из базы данных и эти дни должны оставаться активными в DatePicker, а все остальные - нетНо...
Эластик имеет настройку indexmax-result-window по дефолту равную 10000, поэтому при запросе с offset > 10000, я получаю ошибку
Всем доброго суток, я новичок в программировании, поэтому прошу строго не судитьВопрос заключается в том, что возможно ли отправить тип данных...