Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.79/6792: Рейтинг темы: голосов - 6792, средняя оценка - 4.79
1 / 1 / 0
Регистрация: 12.10.2010
Сообщений: 43

Как возвести число в степень

06.11.2010, 13:48. Показов 1309972. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как возвести число в степень ???
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.11.2010, 13:48
Ответы с готовыми решениями:

Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++.
Как возвести дробное число в целую степень? К примеру 2,7 возвести в степень 2 на C++.

Если введенное число отрицательное и четное, то возвести его в 3 степень, иначе возвести в квадрат
Ввести целое число В. Если В отрицательное и четное, то возвести его в 3 степень, иначе возвести в квадрат

Синтаксис C++ - как возвести заданное число в заданную степень
Здравствуйте ! Такой вопрос : почему при выполнении кода int a = 0; int b; b = a ^ 0; получается, что b равно нулю?

26
 Аватар для vet
183 / 184 / 55
Регистрация: 08.04.2009
Сообщений: 1,309
06.11.2010, 13:59
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

C++
1
2
3
#include <cmath>
....
pow(a,b);
9
1 / 1 / 0
Регистрация: 12.10.2010
Сообщений: 43
06.11.2010, 14:02  [ТС]
Можно по подробнее )))
0
8 / 8 / 0
Регистрация: 07.07.2010
Сообщений: 154
06.11.2010, 14:06
Tim novicvok,
pow(a,b);
a - число
b - степень
2
 Аватар для vet
183 / 184 / 55
Регистрация: 08.04.2009
Сообщений: 1,309
06.11.2010, 14:08
Tim novicvok, если после объяснения landan, все равно не понятно, то вот полностью:
C++
1
2
3
4
5
6
7
8
9
#include <cmath>
#include <iostream>
using namespace std;
int main()
{
double a=5,b=3;//a-÷èñëî êîòîðîå íàäî âîçâåñòè, b- ñòåïåíü
cout << pow(a,b);
cin.get();
}
5
1 / 1 / 0
Регистрация: 12.10.2010
Сообщений: 43
06.11.2010, 14:19  [ТС]
Thanks )))
0
 Аватар для vet
183 / 184 / 55
Регистрация: 08.04.2009
Сообщений: 1,309
06.11.2010, 14:28
пожалуйста =)))
1
0 / 0 / 0
Регистрация: 06.04.2015
Сообщений: 1
06.04.2015, 20:35
Готовый пример
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    setlocale(0, "");
    double a, b;
    cout << "Возведения числа в степень:)" << endl;
    cout << "Пример: 5^2" << endl;
    cout << "Введите число: " << endl;
    cin >> a;
    cout << "Введите степень: " << endl;
    cin >> b;
    cout << "Ваш ответ = " << pow(a,b) << endl;
 
    return 0;
}
0
3 / 3 / 2
Регистрация: 03.11.2016
Сообщений: 138
05.11.2016, 12:53
а можно обойтись без pow?
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
05.11.2016, 12:58
MilkyWay888, можно, используя цикл. Можно еще воспользоваться побайтовым сдвигом влево
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
05.11.2016, 13:01
Цитата Сообщение от MilkyWay888 Посмотреть сообщение
а можно обойтись без pow?
Можно циклом.
Можно рекурсией.

Добавлено через 43 секунды
Цитата Сообщение от Aymurat Посмотреть сообщение
Можно еще воспользоваться побайтовым сдвигом влево
Побайтовый сдвиг влево увеличивает число вдвое, а не возводит в степень.
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
05.11.2016, 13:03
GbaLog-, а если n кратно 2?
0
3 / 3 / 2
Регистрация: 03.11.2016
Сообщений: 138
05.11.2016, 13:04
можно пример? как воспользоваться через цикл.
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
05.11.2016, 13:09
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main(){
    int n,a;
    cin>>n>>a;
    int nsave = n;
    if (a == 0) {cout<<1; return 0;}
    for(int i = 1; i < a; i++)
    {
        n*=nsave;
    }
    cout<<n;
}
Пожалуйста)
2
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
05.11.2016, 13:09
Цитата Сообщение от Aymurat Посмотреть сообщение
а если n кратно 2?
Тогда да, но вряд ли нужно средство, которое использовало бы такой подход.
Можно, конечно, сделать вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
long pow( int n, int x )
{
    if( n == 2 )
    {
        return n << x;
    }
    else
    {
        return pow_impl( n, x );
    }
}
Но не думаю, что это эффективно.
Цитата Сообщение от MilkyWay888 Посмотреть сообщение
как воспользоваться через цикл.
C++
1
2
3
4
for( int it{}; it < power - 1; ++it )
{
    n *= begin_n;
}
0
3 / 3 / 2
Регистрация: 03.11.2016
Сообщений: 138
05.11.2016, 13:19
C++
1
2
3
4
5
6
7
8
9
10
11
// определите только функцию power, где
//    x - число, которое нужно возвести в степень
//    p - степень, в которую нужно возвести x
//
 
int power(int x, unsigned p) {
    int answer;
    /* считаем answer */
answer = x * p;
    return answer;
}
Почему пишет не верно?
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
05.11.2016, 13:21
Цитата Сообщение от MilkyWay888 Посмотреть сообщение
Почему пишет не верно?
А почему должно писать верно?
Вот, прочитайте, что такое степень числа.
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
05.11.2016, 13:26
MilkyWay888, где, собссна, цикл? Или рекурсия? Вы умножили число на степень
0
3 / 3 / 2
Регистрация: 03.11.2016
Сообщений: 138
05.11.2016, 13:55
Нет, мне нужно написать функцию без использования pow и math.h
C++
1
2
3
4
5
6
7
int power (int x, unsigned p){
int answer = x;
if (x >= 0){
for (int x =1; x*x<p; ++x){
return answer;
}
}
В чем ошибка?
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
05.11.2016, 14:00
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

MilkyWay888,
C++
1
2
3
4
5
6
typedef long long ll;
 
ll pow( ll n, unsigned k )
{
    return k ? n * pow( n, k - 1 ) : 1;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.11.2016, 14:00
Помогаю со студенческими работами здесь

Как возвести число в целочисленную степень и взять корень N-ной степени?
извиняюсь, за ламерский вопрос, но как в C++ возвести число в целочисленную степень и взять корень N-ной степени??? Заранее благодарен!

Возвести число в степень
Дано натуральное n. Написать программу вычисления a^n(&quot;а&quot; в степени n)

Возвести число y в степень 2000
Помогите пожалуйста Нужно как-то придумать как возвести число y в степень 2000 на с++ уже не знаю как это сделать

Возвести число в a степень 7 за 4 операций
Нужно использовать только операцию умножения #include &lt;iostream&gt; using namespace std; int main() { double a,b; cin...

Возвести число в степень(дробную)
В соседней теме помог сделать возведение в целочисленную степень и вот стало интересно, но что-то не могу придумать как сделать возведение...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru