Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/91: Рейтинг темы: голосов - 91, средняя оценка - 4.92
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
1

Возведение в степень, отрицательные числа

25.07.2013, 14:13. Показов 17288. Ответов 53
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В библиотеке <cmath> есть такая функция pow(A,B) - получаешь результат возведения A в степень B
Решил написать свой pow с положительными числами работает, а вот с отрицательными я не могу понять как правильно,
1. -2 в 2 степени, на яндексе показывает что должно быть -4, обычный калькулятор показывает -4, pow(A,B) из <cmath> показывает 4, мой pow тоже показывает 4
2. -2 в 3 степени, везде показывает -8 (в том числе и у меня)

по поводу первого варианта, так как все же правильно, -2 в 2 степени, 4 или -4?

PS, да, мне стыдно что я не помню школьную математику.. с каждым может случится..
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.07.2013, 14:13
Ответы с готовыми решениями:

Возведение из числа степень
Прошу помочь. Вводим любое число n и надо возвести её степень. (притом, должно быть или 2 в...

Возведение числа а в степень n
Возведение числа а в степень n ,задача не проста чем , 1&lt;=а&lt;=10 | 1&lt;=n&lt;=7000 Степень может быть...

Возведение числа в степень!
Хай всем кто на форуме! Помогите с задачей! Надо возвести число в степень #include &lt;iostream&gt; ...

Возведение числа в степень n-1
Есть формула {(-1)}^{n-1}*{3}^{n-1} , n увеличивается циклом на 1. Как записать числа в степень n-1...

53
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
26.07.2013, 11:59  [ТС] 41
Author24 — интернет-сервис помощи студентам
то, что не отступов, мне так удобнее, и удобнее что бы между некоторыми "блоками" были пустые строки.

насчет лишней переменной, я попозже посмотрю, как усовершенствовать, насчет _pow == 0 может и зря написал, но по мне лучше просчитать все варианты, я вот когда решил написать этот код, я и не думал о возведении в отрицательную степень.

Вообще спасибо, еще на досуге подумаю.
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
26.07.2013, 12:09 42
Цитата Сообщение от Ilot Посмотреть сообщение
nonedark2008, не сочтите за труд указать рабу божьему где можно почитать о такого рода алгоритмах?
Первый алгоритм можно легко нагуглить - он используется повсеместно.
Про второй - можно почитать во втором томе Кнута.
1
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
26.07.2013, 14:11  [ТС] 43
Цитата Сообщение от Ilot Посмотреть сообщение
Вот именно. Код работает только для целых степеней.
Такой код не лучше?
C++
1
2
3
4
5
6
7
long double my_pow(long double number, short int _pow)
{
    long double temp = 1; // временное значение
    for (int count = 0; count < abs(_pow); count++)
       temp *= number;
    return (_pow > 0) ? temp: 1/temp;
}
nonedark2008, не сочтите за труд указать рабу божьему где можно почитать о такого рода алгоритмах?
а можно разъяснить что значит:

1. в 4-й строчке abs, не знаю что за функция, по этому ее у меня нет.
2. знаки "?", "?:" что он делает в С++, я пока с ними не сталкивался
3. строчка 6 более подробно расписать, т.к. я ее не понимаю, . я сталкивался пока что только с выражениями типа return a; , а не то, что там написано.
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
26.07.2013, 14:17 44
VLK, ты бы хоть в документацию заглянул, А?
abs - функция модуля.
a ? b: c - если a - истина, то b, иначе c.
Цитата Сообщение от VLK Посмотреть сообщение
return (_pow > 0) ? temp: 1/temp;
Если _pow больше нуля, то вернуть temp, иначе вернуть 1/temp
1
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
26.07.2013, 14:17 45
1. открой для себя http://www.cplusplus.com/ (сверху поиск)
2. тернарный оператор
3. возвращение значения результата тернарного оператора
1
Эксперт по математике/физикеЭксперт С++
2048 / 1366 / 395
Регистрация: 16.05.2013
Сообщений: 3,505
Записей в блоге: 6
26.07.2013, 14:19 46
1)Стандартаня ф-я возвращает модуль числа.
2)Конструкция:
[условие] ? [вевести это если условие истина] : [вывести это если уловие ложь]
это более короткое выражение данной конструкции:
if (условие)
[вевести это если условие истина]
else
[вывести это если уловие ложь]
3)Если показатель больше нуля вывести temp иначе 1/temp
p.s.вот так всегда на самом последнем месте
1
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
26.07.2013, 14:20  [ТС] 47
Цитата Сообщение от castaway Посмотреть сообщение
1. открой для себя http://www.cplusplus.com/
2. тернарный оператор
3. возвращение значения результата тернарного оператора
Я бы для себя его открыл, если бы знал английский

короче всем спасибо, по мимо вопроса в начале, я для себя сделал вывод, что пока что еще рано я задаю вопрос, гнилой ли у меня код.
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
26.07.2013, 14:24 48
Цитата Сообщение от VLK Посмотреть сообщение
Я бы для себя его открыл, если бы знал английский
Это не проблема. Я когда встречаю незнакомое слово то просто забиваю его в http://yandex.ru/yandsearch?te... 0%BA&lr=49
Если есть интерес к программированию, то слова запоминаются легко.
0
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
26.07.2013, 14:25  [ТС] 49
Цитата Сообщение от castaway Посмотреть сообщение
Это не проблема. Я когда встречаю незнакомое слово то просто забиваю его в http://yandex.ru/yandsearch?te... 0%BA&lr=49
Если есть интерес к программированию, то слова запоминаются легко.
а когда почти все слова незнакомые?
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
26.07.2013, 14:31 50
Цитата Сообщение от VLK Посмотреть сообщение
а когда почти все слова незнакомые?
Ну это уже тяжелый случай)) Если есть интерес к программированию - значит должен быть интерес к английскому языку, если нет интереса к англ.яз. - тогда не должно быть интереса к программированию. Парадокс..
0
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
26.07.2013, 14:35  [ТС] 51
Цитата Сообщение от castaway Посмотреть сообщение
Ну это уже тяжелый случай)) Если есть интерес к программированию - значит должен быть интерес к английскому языку, если нет интереса к англ.яз. - тогда не должно быть интереса к программированию. Парадокс..
Ох.. рано или поздно наступают времена когда интерес сменяется необходимостью, при чем необходимость эту надо реализовать в кротчайшие сроки.
1
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 10
26.07.2013, 16:03 52
Цитата Сообщение от Kukurudza Посмотреть сообщение
где посмотреть?
Мат анализ и численные методы тебе в помощь)))
0
Заблокирован
Автор FAQ
19.03.2014, 22:18 53
Уточнение в алгоритме (справедливо для всех b >= 0)
https://www.cyberforum.ru/cgi-bin/latex.cgi?atan2(Re({e}^{b*ln(|a|)}), Im({e}^{b*ln(|a|)})) = \pi*(b - floor(b))
Миниатюры
Возведение в степень, отрицательные числа  
Вложения
Тип файла: rar exp2.rar (2.0 Кб, 6 просмотров)
0
0 / 0 / 0
Регистрация: 16.08.2018
Сообщений: 38
17.08.2018, 12:43 54
0.15283
0
17.08.2018, 12:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2018, 12:43
Помогаю со студенческими работами здесь

Возведение числа n в степень m.
Написать программу - возведение числа n в m-ю степень. Входные данные поступают с клавиатуры....

Возведение числа в степень
Помогите написать программу, возводящщую число M в степень N (-10&lt;M&lt;10, 0&lt;N&lt;10 - проверить...

Рекурсивное возведение в степень числа
Рекурсивная функция,которая принимает 2 параметра:первый-число,второй-степень в которую нужно...

Возведение числа в степень через for
Нужна программа для возведения числа в степень через for


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
54
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru