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

Вещественное число возвести в целую положительную степень n - C++

Восстановить пароль Регистрация
 
витя123
1 / 1 / 0
Регистрация: 06.09.2015
Сообщений: 77
07.09.2015, 14:13     Вещественное число возвести в целую положительную степень n #1
вычислить an(n>0).
входные данные: а-вещественное число которую надо возвести в целую положительную степень n
выходные данные:р-результат возведения числа а в целую положительную степень
i-переменная
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
07.09.2015, 14:56     Вещественное число возвести в целую положительную степень n #2
C++
1
2
3
4
5
6
7
double MyPow(double a, int n)
{
     double t=1.0;
     for(int i=1;i<=n;i++)
         t*=a;
     return t;
}
_Ivana
2191 / 1396 / 124
Регистрация: 01.03.2013
Сообщений: 4,153
Записей в блоге: 2
07.09.2015, 15:33     Вещественное число возвести в целую положительную степень n #3
Цитата Сообщение от витя123 Посмотреть сообщение
i-переменная
Какое i? Не знаем никакого i:
C++
1
2
3
typedef unsigned long long int ull;
double g(double a) {return a*a;}
double MyPow(double a, ull n) {return n==1 ? a : n%2 ? a*MyPow(a,n-1) : g(MyPow(a,n/2));}
JuniorCpp
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 18
07.09.2015, 15:36     Вещественное число возвести в целую положительную степень n #4
в библиотеке math вроде есть готовая функция.
А если реализация нужна, то не думаю что понимание слишком трудно.
Если лень писать, могу скинуть код)

for(int i = 0; i < val2; i++) val1 *= val1;

где val2 - степень, val1 - число double
_Ivana
2191 / 1396 / 124
Регистрация: 01.03.2013
Сообщений: 4,153
Записей в блоге: 2
07.09.2015, 15:42     Вещественное число возвести в целую положительную степень n #5
JuniorCpp, скидывайте, померяемся скоростью
JuniorCpp
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 18
07.09.2015, 15:46     Вещественное число возвести в целую положительную степень n #6
Цитата Сообщение от _Ivana Посмотреть сообщение
JuniorCpp, скидывайте, померяемся скоростью
Яж новичок)))))
Не надо меня сразу закапывать))))))
А простые задачи и надо решить просто))))
_Ivana
2191 / 1396 / 124
Регистрация: 01.03.2013
Сообщений: 4,153
Записей в блоге: 2
07.09.2015, 15:49     Вещественное число возвести в целую положительную степень n #7
И сколько, к примеру, ваш код считает такие данные:
C++
1
double a = 1.000000005; ull n = 1000000000;
ЗЫ ладно, не закапываю Но если будешь "простые задачи" "решать просто", не научишься решать правильно
JuniorCpp
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 18
07.09.2015, 15:53     Вещественное число возвести в целую положительную степень n #8
Цитата Сообщение от _Ivana Посмотреть сообщение
И сколько, к примеру, ваш код считает такие данные:
C++
1
double a = 1.000000005; ull n = 1000000000;
ЗЫ ладно, не закапываю Но если будешь "простые задачи" "решать просто", не научишься решать правильно
чет долго))))
Но и ваш код мне пока не хватает знаний разобрать((

Исправлюсь

Не дождался((
Я думаю что вопрос еще и в смысле вычислений до такой точности) Если знаешь что в программе таких значений не будет, то зачем
алгоритм работающий быстрее?

Вопросы оптимизации, а нужна ли она вообще?)) Сначала надо разобраться с назначением))))
_Ivana
2191 / 1396 / 124
Регистрация: 01.03.2013
Сообщений: 4,153
Записей в блоге: 2
07.09.2015, 15:59     Вещественное число возвести в целую положительную степень n #9
Цитата Сообщение от JuniorCpp Посмотреть сообщение
Не дождался((
Ну это у тебя ошибка в коде. https://ideone.com/oq7NxE - алгоримт zss (и ваш, собственно) считает эти данные 1.74 секунды. Мой - 0 секунд. Если увеличивать n, то разница будет еще больше, ибо у вас сложность O(n), у меня O(log(n)). А к вопросу "нужна или не нужна" - если не уметь, то и когда нужна не применишь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2015, 16:00     Вещественное число возвести в целую положительную степень n
Еще ссылки по теме:

Написать программу, которая вычисляет целую степень, в которую необходимо возвести число 2, чтобы получить число, ближайшее меньшее либо равное числу, C++
C++ Возвести число в a степень 7 за 4 операций
Возвести число в (7) семизначную степень C++

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

Или воспользуйтесь поиском по форуму:
JuniorCpp
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 18
07.09.2015, 16:00     Вещественное число возвести в целую положительную степень n #10
Научусь)
Спасибо
Yandex
Объявления
07.09.2015, 16:00     Вещественное число возвести в целую положительную степень n
Ответ Создать тему
Опции темы

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