Как возвести в квадрат число с плавающей точкой , чтобы программа не выходила за пределы double, но и работала верно?
В этой программе вводим сначал n-количество чисел, которые будем вводить , а затем n чисел вводим. Суть в том , что при вводе чисел таких как 3.е165 программа выводит inf т.к. выходим за пределы double~e308. А преподаватель просит , чтобы программа работала без никаких проблем на таких значениях. Что делать ?
#include #include #define N 10000 double norm2(double a[],int n); int main(void) < double a[N]; int n; scanf("%d",&n); norm2(a,n); return 0; >double norm2(double a[],int n) < int i=0; double sum=0; for(i=0;iprintf("%le",sqrt(sum)); return 0; >
Отслеживать
задан 21 апр 2021 в 11:32
With Orxan With Orxan
133 10 10 бронзовых знаков
Вам надо не возвести число в квадрат, чтоб не выходило за пределы, а потом еще и извлечь квадратный корень — а это уже существенно меняет дело. А вы про корень ничего не упоминаете! Замечу вскользь, что, например, sqrt(a^2+b^2) == a*sqrt(1+(b/a)^2) . Намека достаточно?
21 апр 2021 в 11:35
А как можно это сделать с числами с плавающей точкой ? Я не упоминал корень , потому что хотел с квадратом полностью разобраться
21 апр 2021 в 11:40
Так, как я и написал. Понятно, что не пытаясь заменить a^2 на exp(log(abs(a))+log(abs(a))) , а просто на a*a . А разобраться с квадратом — так неужели вы не понимаете, что с квадратом вы ничего не сделаете — потому что результат выходит за пределы типа! Это как если бы вы через пропасть в 3 метра шириной прыгали на метр — «я сначала хочу на метр научиться прыгать, а потом уж и на 3. » Или «я сначала в бассейн с вышки прыгать научусь, а уже потом напущу воду и буду учиться плавать. «
Как возвести в квадрат с
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.
___________________________________ ___________________________________ _______
[=Правила форума=] _____ [Поиск] _____ [Литература по С++] ____ [Литература. Паскаль]
Форумчанин
Регистрация: 18.06.2008
Сообщений: 350
Нужно записать такие выражения:
cos^2X
Logx^2
1-1/2log^2x
___________
2sin^2L
Ещё вопрос по поводу #include
Тоесть я подключил этот модуль, а дальше, когда хочу получить квадрат числа , или 8,9 степень, или использовать логарифм числа что нужно использовать.
Регистрация: 19.12.2008
Сообщений: 5,788
pow(cos(X),2)
log(x*x) или log(pow(x,2))
1-1/2log^2x
1 - 1/(2*pow(log(x),2);
| Тоесть я подключил этот модуль, а дальше, когда хочу получить квадрат числа , или 8,9 степень, или использовать логарифм числа что нужно использовать. |
Логарифм — это логарифм. Степень — это степень. И для того и для другого есть спец. функции.
Если хотите, можете и через логарифмы степень считать.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.
___________________________________ ___________________________________ _______
[=Правила форума=] _____ [Поиск] _____ [Литература по С++] ____ [Литература. Паскаль]
Степень в C, C++ и С#: как возвести число в любую степень, побитовые операции
Функция pow является частью библиотеки cmath, и поэтому её заголовок обязательно должен быть подключен в секции #include, как это сделано в примере. Также cout и cin являются частью библиотеки iostream и она у нас тоже подключена.
Давайте рассмотрим еще несколько примеров:
Пример, в котором степень и число задается пользователем:
#include #include using namespace std; int main()< setlocale(0, ""); double a, b; cout > a; cout > b; cout int pow2(int n)
Пояснение: возведение «2» в степень «n» реализуется с помощью сдвига, в общем случае:
- сдвиг влево (в сторону старших разрядов) реализует умножение на два,
- сдвиг вправо (в сторону младших разрядов) реализует деление на два.
Число n должно быть целочисленным.
Пример, в котором не используется функция pow()
#include using namespace std; int main()< int n, a; cin>>n>>a; int tmp = n; if (a == 0) < coutfor(int i = 1; i < a; i++) < n*=tmp; >cout
В этом примере пользователь вводит числа n и a . Где n — число, которое возводится в степень, a — степень числа. В цикле for, мы умножаем число n на само себя a раз и в результате получаем степень.
Напишем свою функцию для возведение числа в степень:
double raiseToPow(double x, int power) < double result; int i; result =1.0; for (i=1, i<=power;i++) < result = result*x; >return(result); >
Возведение в степень на C#
Свежие записи
- SQL UPDATE: примеры обновления строк в таблице
- PHP: substr и мощные альтернативы, чтобы вырезать часть строки
- Степень в C, C++ и С#: как возвести число в любую степень, побитовые операции
- Скачать ShowKeyPlus: ссылка на последнюю официальную версию, скачивание, установка
- Как создать файл в Linux: 12 способов
- SQL INSERT INTO: примеры вставки строк в таблицу БД MySQL
- PHP: str_replace — замена или удаление подстроки в строке
- Функция date() в php: распространенные форматы, примеры, советы
- cURL в PHP: примеры POST, GET запросов с headers, cookie, JSON и многопоточностью
- JSON в PHP: примеры json_encode, json_decode, работа с кириллицей и utf-8
- Файл gitignore — примеры и документация
- Сортировка массивов в php: ksort, asort и прочие sort’ы
- jQuery onclick: как выполнить код при клике на кнопку
- 500 Internal Server Error — в чем причина?
- SMTP от Yandex: как отправить письма из PHP — пример настроек
- No such file or directory — в чем причина?
- Как получить первый элемент массива в php
- Cтроку в массив по разделителю в PHP: explode, str_split, strtok — что выбрать?
- 301 редирект на https с www через htaccess
- Как в php добавить к массиву другой массив?
- 301 редирект на https без www с помощью htaccess
- Регулярные выражения в PHP
- PHP json_decode — как декодировать результат в массив?
- Yii2 ActiveRecord шпаргалка по составлению запросов
- Поиск подстроки в строке с помощью PHP
- Отправка почты на php
- Как подключить php код в html
- Конвертировать массив в строку при помощи PHP
- Подключение одного php файла в другой
- Подборка ссылок для веб-разработчика
- Проблема с кириллицей в PHPWord
Возведение числа в квадрат
Для возведения числа в квадрат в Excel можно использовать функцию степени, которая представлена символом крышки (^). Используйте формулу =N^2,в которой N — это число или значение ячейки, которую нужно квадратить. Эту формулу можно использовать несколько раз на всем протяжении всего таблицы.
Возведение в квадрат числа в отдельной ячейке

- Щелкните внутри ячейки на листе.
- Введите в ячейку =N^2, где N — это число, которое нужно возвести в квадрат. Например, чтобы вставить в ячейку A1 квадрат числа 5, введите в нее =5^2.
- Нажмите клавишу ВВОД, чтобы получить результат.
Совет: Для этого вы также можете щелкнуть другую ячейку.
Возведение в квадрат числа в другой ячейке
- Щелкните внутри ячейки и введите нужное число.
- Вы можете выбрать другую пустую ячейку на одном из них.
- Введите =N^2 в пустую ячейку, в которой N — это ссылка на ячейку, содержаща числовую величину, которую нужно квадратить. Например, чтобы отобразить квадрат значения в ячейке A1 в ячейке B1, введите =A1^2 в ячейку B1.
- Нажмите клавишу ВВОД, чтобы получить результат.
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.