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

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

Восстановить пароль Регистрация
 
BaysNoize
 Аватар для BaysNoize
1 / 1 / 0
Регистрация: 15.04.2013
Сообщений: 54
27.01.2014, 19:46     Возведения в степень #1
Народ нужна помощь так как только, сегодня утром начал учить С++ сразу же возникли вопросы
Например у меня есть последовательность чисел типа S=2+4+16+32... и так далее до определённого числа n.
Каждое последующее число мы возводим в степень, как это будет выглядить??
Всё что я пока написал выглядит всего лишь так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
intclude <iostream>
intclude <cmath> // если не ошибаюсь библиотека для возведения в степень
int main ()
{
using namespace std;
set locale (LS_ALL, "Russian");
int n,s=0;
cin >> n ;
for (int i=1, i<=n, i++);
{double x;
cin >> x;
double y;
y=sqrt (x);
ну собственно тут я и застяр
Подскажите кто может что и как, если бы сразу кодом с пояснениями вообще было бы супер
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kill100
 Аватар для Kill100
359 / 248 / 33
Регистрация: 11.12.2010
Сообщений: 1,068
Завершенные тесты: 1
27.01.2014, 19:51     Возведения в степень #2
C++
1
2
3
4
5
6
7
int s = 0, n, p=2;
cin >> n;
for(int i = 0; i <= n; i++)
{
   s+=p;
   p*=p;
}
Я верно понял?
BaysNoize
 Аватар для BaysNoize
1 / 1 / 0
Регистрация: 15.04.2013
Сообщений: 54
27.01.2014, 20:25  [ТС]     Возведения в степень #3
Ну вроде да, то есть мне выходит что не нужно
C
1
2
3
4
5
intclude <cmath>
{double x;
cin >> x;
double y;
y=sqrt (x)
Ну так как ты мне помог это банально умножения числа самого на себя, мне нужно что бы именно возведения было в степень, а не банальное умножения , ну спасибо и та этом
Kill100
 Аватар для Kill100
359 / 248 / 33
Регистрация: 11.12.2010
Сообщений: 1,068
Завершенные тесты: 1
27.01.2014, 20:28     Возведения в степень #4
Цитата Сообщение от BaysNoize Посмотреть сообщение
мне нужно что бы именно возведения было в степень, а не банальное умножения
А зачем если ряд у тебя 2+4+16+32?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4923 / 2666 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
27.01.2014, 20:44     Возведения в степень #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Возведение в двойку - это обычный побайтовый сдвиг влево.
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
    int n, sum = 0;
    std::cin >> n;
    for (int i=1; i <= n; i++)
        sum += 1 << i;
    std::cout << sum << std::endl;
}
Если по простому. А на деле - можно все представить как строку, состоящую из n единиц и 0 на конце, потом перевести в десятичный формат и вывести на экран.
BaysNoize
 Аватар для BaysNoize
1 / 1 / 0
Регистрация: 15.04.2013
Сообщений: 54
27.01.2014, 21:29  [ТС]     Возведения в степень #6
Ну а если будет S=2+8+512+... то есть в 3ю степень, мне просто интересна сама работа с степенью

Добавлено через 55 секунд
Я уже шарился по форому, но нахожу что то непонятное типо
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
double pow(
   double x,
   double y 
);
double pow(
   double x,
   int y
);  // C++ only
float pow(
   float x,
   float y 
);  // C++ only
float pow(
   float x,
   int y
);  // C++ only
long double pow(
   long double x,
   long double y
);  // C++ only
long double pow(
   long double x,
   int y
);  // C++ only
float powf(
   float x,
   float y 
);
Что это вообще без понятия
Ibra-san
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 8
27.01.2014, 21:45     Возведения в степень #7
Pow(x,y) функция из библиотеки <cmath>.
Возводит x в степень y.
Sqrt(x) наоборот корень квадратный извлекает.
Powf и Powl тоже, вроде как, в степень возводят, но с другой точностью вычисления
К примеру (присвоение иксу (2 в 4 степени)):
C++
1
x = pow(2, 4);
Kill100
 Аватар для Kill100
359 / 248 / 33
Регистрация: 11.12.2010
Сообщений: 1,068
Завершенные тесты: 1
27.01.2014, 21:50     Возведения в степень #8
C#
1
2
3
4
5
6
7
8
9
10
11
12
#include <math>
    int main()
    {
    int n, s=0;
    printf("Input n\r\n");
    scanf_s("%i", &n);//cin>>n //если будет ошибка
    for (int i = 2; i <= n; i++)
        s += pow(i, 3); //i в 3 степени
    printf("S = %in\r\n", s);
    system("Pause");
    return 0;
}
BaysNoize
 Аватар для BaysNoize
1 / 1 / 0
Регистрация: 15.04.2013
Сообщений: 54
27.01.2014, 21:55  [ТС]     Возведения в степень #9
Цитата Сообщение от Ibra-san Посмотреть сообщение
Pow(x,y) функция из библиотеки <cmath>.
Возводит x в степень y.
Sqrt(x) наоборот корень квадратный извлекает.
Powf и Powl тоже, вроде как, в степень возводят, но с другой точностью вычисления
К примеру (присвоение иксу (2 в 4 степени)):
C++
1
x = pow(2, 4);
вооо понял, блогадарочка
Ibra-san
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 8
27.01.2014, 22:06     Возведения в степень #10
http://cppstudio.com/cat/309/319/
Почитайте про библиотеку <cmath>, там много полезных функций.
BaysNoize
 Аватар для BaysNoize
1 / 1 / 0
Регистрация: 15.04.2013
Сообщений: 54
27.01.2014, 22:13  [ТС]     Возведения в степень #11
Цитата Сообщение от Ibra-san Посмотреть сообщение
http://cppstudio.com/cat/309/319/
Почитайте про библиотеку <cmath>, там много полезных функций.
Спасибо, полезный сайт, много интересного для начинающих программистов Пожалуй добавлю в закладки
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2014, 22:20     Возведения в степень
Еще ссылки по теме:

C++ Функция возведения в степень.
Перегрузить функцию возведения в степень C++
Рекурсивная функция возведения в степень C++

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

Или воспользуйтесь поиском по форуму:
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
27.01.2014, 22:20     Возведения в степень #12
Ну и я вставлю 5 копеек. Возводим числа 2,4,16,32 в квадрат.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
template<int... Values>
void square()
{
    for(auto& i : {( Values * Values )...} )
        std::cout << i << " ";
        std::cout << std::endl;
}
int main()
{
    square<2,4,16,32>();
    return 0;
}
Yandex
Объявления
27.01.2014, 22:20     Возведения в степень
Ответ Создать тему
Опции темы

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