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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SATMAN
52 / 52 / 1
Регистрация: 09.10.2009
Сообщений: 984
#1

Степень - C++

17.10.2010, 01:13. Просмотров 704. Ответов 13
Метки нет (Все метки)

Хочу реализовать 2 в 3 степени .. но не могу докумекать как это сделать ..
Каким циклом сделать лучше ?
2*2*2=8

ВНИМАНИЕ НЕ КИДАЙТЕ ГОТОВОЕ РЕШЕНИЕ ХОЧУ САМ ДОПЕТРИТЬ (ДЛЯ СЕБЯ РЕШАЮ , СОБАЧИЙ ИНТЕРЕС)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2010, 01:13     Степень
Посмотрите здесь:

степень - C++
создать класс для вычисления числа n в степени k, перегрузить оператор * умножения. помогите перегрузить оператор, желательно с...

Возведение в степень - C++
Подскажите пожалуйста алгоритм возвидения в степень, есть карта в которой храниться разные цифры мой велосипед for (std::map<int,...

Число в степень - C++
Есть функция, в функции тратата*10^8 Как записать кратко число в степени? (тратата*pow(10,8)) не подходит (препод пишет неэффективно)

Возведение в степень - C++
Всем привет! Нужно найти значение выражения 2^(x^y), х=3,251, у=0,325. Что-то я запуталась... То ли тип указала не тот, то ли еще...

Возведение в степень - C++
напишите программный код для С++ Builder

Возведение в степень - C++
Совсем недавно начал изучать C++. Учу по книге. Было задание: Вводишь число Вводишь степень в которую надо возвести это число ...

Возведение в степень - C++
Подскажите, как написать программу возведения 2-ки в миллионную степень и вывести результат на экран. #include <stdio.h> #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.10.2010, 01:14     Степень #2
Я выбрал бы for, хотя можно любой!!!
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
17.10.2010, 01:17     Степень #3
А я бы выбрал pow из cmath

pow(число, степень). Один из параметров должен быть double.
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
17.10.2010, 01:27     Степень #4
Цитата Сообщение от Lavroff Посмотреть сообщение
Один из параметров должен быть double.
Всмысле так не поканает ?
C++
1
pow(2, 2);
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
17.10.2010, 01:28     Степень #5
Включаем :
#include <cmath>
потом std:: из меню выбираем pow() (степень) ....
в скобках параметры - какую степень из чего....
и получаем резалт
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
17.10.2010, 01:30     Степень #6
NikolaWhite, Ну допустим std совершенно не обязательно.

pow(2, 2) - не-а. Так не проканает. Один из параметров должен быть double/float.
Т.е. pow(2.0, 2) - вполне
SATMAN
52 / 52 / 1
Регистрация: 09.10.2009
Сообщений: 984
17.10.2010, 01:30  [ТС]     Степень #7
Ок спасибо ! завтра поковыряю и порешаю задачку .
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
17.10.2010, 01:32     Степень #8
Lavroff,
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <cmath>
 
int main()
{
    std::cout << pow(2, 2);
    system("pause >> void");
}
И всё работает.
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
17.10.2010, 01:35     Степень #9
Asics^, Ну видимо 2 неявно приводится к double. А на неявное приведение лучше не ровняться.
У функции pow есть 5 перегрузок. И ни в одной не фигурирует тип int.

Вот так не сработает.

C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <cmath>
 
int main()
{
    int a=2, b=2;
    std::cout<<pow(a,b)<<'\n';
    return 0;
}
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <cmath>
 
int main()
{
    std::cout<<pow(2,2)<<'\n';
    return 0;
}
И такой код не компилируется в MSVS 2005.
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
17.10.2010, 01:40     Степень #10
Lavroff, в DevC++
Миниатюры
Степень  
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
17.10.2010, 01:41     Степень #11
Asics^, Вывод. DevC++ использует неявное приведение из int в double. Что по сути некорректно. Хотя нет. Скорее всего корректно. Это из double в int некорректно из-за возможности потери данных. А при переводе из 4 байт в 8 байт (double) вроде как катастрофического ничего не случится. Но все же, небезопасное приведение. Если так хочется лучше писать
C++
1
pow(static_cast<double>(a), b);
pow
iApple
2 / 2 / 0
Регистрация: 23.09.2010
Сообщений: 11
17.10.2010, 04:20     Степень #12
SATMAN,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
#include <conio.h>
#include <math.h>
main(){
int i,q,d,a,g;
cout<<"Число воздвигаемое в степень:";
cin>>q;
a=q;
cout<<"в какую степень будем воздвигать: ";
cin>>i;
while(d<i) do{
g=q;
cout<<q<<"*"<<a,"="<<g<<endl; //каждый цикл показывает число в i степени, при желании можно исключить
q=q*a;
d++;
}
}

писал напрямую сюда, по моему так эта фигня должна 100%.

Добавлено через 2 минуты
Lavroff, респект за аву))) на днях встретил в лицо такую проблему))) тока мне надо было F1 жать.. (
Kastaneda
Форумчанин
Эксперт С++
4479 / 2841 / 227
Регистрация: 12.12.2009
Сообщений: 7,224
Записей в блоге: 1
Завершенные тесты: 1
17.10.2010, 09:36     Степень #13
C++
1
pow(2,2)
некоторые компиляторы это проглотят, а вот так:
C++
1
pow(2,(1/3));//находим корень 3-ей степени
даже если скомпилится, то правильного ответа 100% не будет, как-то сам так попался))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2010, 12:11     Степень
Еще ссылки по теме:

Возведение в степень - C++
Здравствуйте! Есть какой то другой способ возведения в степень чем а^3 = а*а*а А если нужно в 100 степень возводить то умереть и не...

Большая степень - C++
Здраствуйте. У меня нарисовалась такая проблемка: надо подщитать число 2 в степени n (2^n), где n&lt;=10000. n - натуральное. Вывести на екран...

Степень числа - C++
Приветы всем! Пытаюсь сделать задания, но не могу разобраться как всё посчитать... Суть в том что бы вводилось число и нужно определить,...

Возведение в степень - C++
Вывести на экран таблицу степеней &quot;к&quot;, где те изменяются от 1 до 10,к-вещественое число.оперцию возведения вещественого числа в степень...

Степень симметрии - C++
Только прошу сделайте чем по проще. и через cin cout. Степенью симметрии натурального числа назовём количество пар его десятичных...


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

Или воспользуйтесь поиском по форуму:
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
17.10.2010, 12:11     Степень #14
Kastaneda, Ну да,написал
C++
1
std::cout << pow(32, 1/5);
резалт: 1(неверно)
C++
1
std::cout << pow(32, 1/5.0);
резалт: 2(что вроде тру)
Yandex
Объявления
17.10.2010, 12:11     Степень
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru