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

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

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

Студворк — интернет-сервис помощи студентам
В библиотеке <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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.07.2013, 14:13
Ответы с готовыми решениями:

Возведение из числа степень
Прошу помочь. Вводим любое число n и надо возвести её степень. (притом, должно быть или 2 в степени x, или 3) Например: n=81 &gt;&gt;...

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

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

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

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

Вообще спасибо, еще на досуге подумаю.
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
26.07.2013, 12:09
Цитата Сообщение от Ilot Посмотреть сообщение
nonedark2008, не сочтите за труд указать рабу божьему где можно почитать о такого рода алгоритмах?
Первый алгоритм можно легко нагуглить - он используется повсеместно.
Про второй - можно почитать во втором томе Кнута.
1
 Аватар для VLK
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
26.07.2013, 14:11  [ТС]
Цитата Сообщение от 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
VLK, ты бы хоть в документацию заглянул, А?
abs - функция модуля.
a ? b: c - если a - истина, то b, иначе c.
Цитата Сообщение от VLK Посмотреть сообщение
return (_pow > 0) ? temp: 1/temp;
Если _pow больше нуля, то вернуть temp, иначе вернуть 1/temp
1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
26.07.2013, 14:17
1. открой для себя http://www.cplusplus.com/ (сверху поиск)
2. тернарный оператор
3. возвращение значения результата тернарного оператора
1
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2224 / 1426 / 420
Регистрация: 16.05.2013
Сообщений: 3,647
Записей в блоге: 6
26.07.2013, 14:19
1)Стандартаня ф-я возвращает модуль числа.
2)Конструкция:
[условие] ? [вевести это если условие истина] : [вывести это если уловие ложь]
это более короткое выражение данной конструкции:
if (условие)
[вевести это если условие истина]
else
[вывести это если уловие ложь]
3)Если показатель больше нуля вывести temp иначе 1/temp
p.s.вот так всегда на самом последнем месте
1
 Аватар для VLK
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
26.07.2013, 14:20  [ТС]
Цитата Сообщение от castaway Посмотреть сообщение
1. открой для себя http://www.cplusplus.com/
2. тернарный оператор
3. возвращение значения результата тернарного оператора
Я бы для себя его открыл, если бы знал английский

короче всем спасибо, по мимо вопроса в начале, я для себя сделал вывод, что пока что еще рано я задаю вопрос, гнилой ли у меня код.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
26.07.2013, 14:24
Цитата Сообщение от VLK Посмотреть сообщение
Я бы для себя его открыл, если бы знал английский
Это не проблема. Я когда встречаю незнакомое слово то просто забиваю его в http://yandex.ru/yandsearch?te... 0%BA&lr=49
Если есть интерес к программированию, то слова запоминаются легко.
0
 Аватар для VLK
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
26.07.2013, 14:25  [ТС]
Цитата Сообщение от castaway Посмотреть сообщение
Это не проблема. Я когда встречаю незнакомое слово то просто забиваю его в http://yandex.ru/yandsearch?te... 0%BA&lr=49
Если есть интерес к программированию, то слова запоминаются легко.
а когда почти все слова незнакомые?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
26.07.2013, 14:31
Цитата Сообщение от VLK Посмотреть сообщение
а когда почти все слова незнакомые?
Ну это уже тяжелый случай)) Если есть интерес к программированию - значит должен быть интерес к английскому языку, если нет интереса к англ.яз. - тогда не должно быть интереса к программированию. Парадокс..
0
 Аватар для VLK
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
26.07.2013, 14:35  [ТС]
Цитата Сообщение от castaway Посмотреть сообщение
Ну это уже тяжелый случай)) Если есть интерес к программированию - значит должен быть интерес к английскому языку, если нет интереса к англ.яз. - тогда не должно быть интереса к программированию. Парадокс..
Ох.. рано или поздно наступают времена когда интерес сменяется необходимостью, при чем необходимость эту надо реализовать в кротчайшие сроки.
1
0 / 0 / 0
Регистрация: 24.07.2013
Сообщений: 10
26.07.2013, 16:03
Цитата Сообщение от Kukurudza Посмотреть сообщение
где посмотреть?
Мат анализ и численные методы тебе в помощь)))
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
19.03.2014, 22:18
Уточнение в алгоритме (справедливо для всех 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
0.15283
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.08.2018, 12:43
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
54
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru