Форум программистов, компьютерный форум CyberForum.ru

Возведение a в степень b - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
sancho1996
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 55
26.06.2013, 14:39     Возведение a в степень b #1
Пользователь вводит числа а и b, программа считает "а" в степени "b".

Помогите написать код
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2013, 14:39     Возведение a в степень b
Посмотрите здесь:

Возведение в степень C++
C++ Возведение в степень. C++
C++ возведение в степень!
C++ Возведение в степень!
возведение в степень C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igoroff-d
17 / 17 / 1
Регистрация: 31.10.2012
Сообщений: 26
26.06.2013, 14:43     Возведение a в степень b #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <math.h>
using namespace std;
 
void main()
{
    double a;
    double b;
    cout<<"Enter a: ";
    cin>>a;
    cout<<"Enter b: ";
    cin>>b;
    cout<<"Result is: "<<pow(a,b)<<endl;
}
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
26.06.2013, 14:45     Возведение a в степень b #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cmath>
int main() {
    setlocale(LC_ALL, "Russian");
    double a,b;
    std::cout << "Введите а: ";
    std::cin>>a;
    std::cout << "Введите b: ";
    std::cin>>b;
    std::cout<<"a^b= "<<pow(a,b)<<std::endl;
    return 0;
}
Добавлено через 21 секунду

Не по теме:

опоздал

sancho1996
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 55
26.06.2013, 14:54  [ТС]     Возведение a в степень b #4
@igoroff-d, @Belfegor, а можно ли возвести в степень не обращаясь к math.h

Добавлено через 33 секунды
т.е. другим способом
Surovyi
1 / 1 / 0
Регистрация: 19.06.2013
Сообщений: 9
26.06.2013, 15:02     Возведение a в степень b #5
Конечно можно. Фактические возведение в степень - это количество умножений значения самого на себя (во всяком случае, если степерь не дробное число). То есть используя цикл, можно избежать использование библиотеки math.h
sancho1996
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 55
26.06.2013, 15:03  [ТС]     Возведение a в степень b #6
@Surovyi, можете показать с циклами как сделать?
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
26.06.2013, 15:05     Возведение a в степень b #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#define ll long long
ll binpow(ll x,ll n) {
    ll res=1;
    while(n) {
        if(n&1)res*=x;
        x*=x;
        n>>=1;
    }
    return res;
}
int main() {
    setlocale(LC_ALL, "Russian");
    ll a,b;
    std::cout << "Введите а: ";
    std::cin>>a;
    std::cout << "Введите b: ";
    std::cin>>b;
    std::cout<<"a^b= "<<binpow(a,b)<<std::endl;
    return 0;
}
sancho1996
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 55
26.06.2013, 15:10  [ТС]     Возведение a в степень b #8
а еще как можно?
Surovyi
1 / 1 / 0
Регистрация: 19.06.2013
Сообщений: 9
26.06.2013, 15:10     Возведение a в степень b #9
@Belfegor, уже дал вам рабочий вариант используя цикл.
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
26.06.2013, 15:13     Возведение a в степень b #10
Цитата Сообщение от sancho1996 Посмотреть сообщение
а еще как можно?
C++
1
2
3
4
5
6
7
8
9
10
ll binpow (ll a, ll n) {
    if (n == 0)
        return 1;
    if (n % 2 == 1)
        return binpow (a, n-1) * a;
    else {
        ll b = binpow (a, n/2);
        return b * b;
    }
}
Surovyi
1 / 1 / 0
Регистрация: 19.06.2013
Сообщений: 9
26.06.2013, 15:19     Возведение a в степень b #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main()
{
    setlocale (LC_ALL, "Russian");
    double a, b;
    cout << "Введите число: " << endl;
    cin >> a;
    cout << "Введите степень: " << endl;
    cin >> b;
 
   for (b; b != 1; b--)
    {
          a = a*a;
    }
 
    cout << "Результат: " << a;
 
    return 0;
}
Belfegor
26.06.2013, 15:23
  #12

Не по теме:

Цитата Сообщение от Surovyi Посмотреть сообщение
for (b; b != 1; b--)
* * {
* * * * * a = a*a;
* * }
запускали? 5^6=?

Surovyi
1 / 1 / 0
Регистрация: 19.06.2013
Сообщений: 9
26.06.2013, 15:27     Возведение a в степень b #13
@Belfegor,

Не по теме:

Если честно нет, у меня нет возможности сейчас проверить работоспособность. Извиняюсь за возможные ошибки. Если у вас есть время и желание, то можете модифицировать мой вариант.Буду благодарен и я, и автор темы.

sancho1996
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 55
26.06.2013, 15:29  [ТС]     Возведение a в степень b #14
Спасибо большое вам всем за помощь
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2013, 15:34     Возведение a в степень b
Еще ссылки по теме:

Возведение в степень C++
C++ возведение в степень
Возведение в степень C++

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

Или воспользуйтесь поиском по форуму:
Belfegor
26.06.2013, 15:34     Возведение a в степень b
  #15

Не по теме:

Цитата Сообщение от Surovyi Посмотреть сообщение
можете модифицировать мой вариант
C++
1
2
3
4
5
6
7
ll pwr (register ll m, register ll e) {
    register ll temp;
    temp = 1;
    for( ; e; e--)
        temp*= m;
    return temp;
}

Yandex
Объявления
26.06.2013, 15:34     Возведение a в степень b
Ответ Создать тему
Опции темы

Текущее время: 14:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru