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

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

25.07.2013, 14:13. Показов 19329. Ответов 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
2222 / 1424 / 419
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru