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

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

Войти
Регистрация
Восстановить пароль
 
витя123
1 / 1 / 0
Регистрация: 06.09.2015
Сообщений: 78
#1

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

07.09.2015, 14:13. Просмотров 383. Ответов 9
Метки нет (Все метки)

вычислить an(n>0).
входные данные: а-вещественное число которую надо возвести в целую положительную степень n
выходные данные:р-результат возведения числа а в целую положительную степень
i-переменная
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2015, 14:13     Вещественное число возвести в целую положительную степень n
Посмотрите здесь:

Возвести число в 7000 степень C++
C++ Возвести вещественное число A в целую положительную степень k
C++ Как возвести число в степень
Возвести число в степень C++
Возведения числа в целую положительную и отрицательную степень C++
Написать программу, которая вычисляет целую степень, в которую необходимо возвести число 2, чтобы получить число, ближайшее меньшее либо равное числу, C++
C++ Возвести число в a степень 7 за 4 операций
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
6111 / 5714 / 1849
Регистрация: 18.12.2011
Сообщений: 14,593
Завершенные тесты: 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
2583 / 1592 / 140
Регистрация: 01.03.2013
Сообщений: 4,558
Записей в блоге: 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
2583 / 1592 / 140
Регистрация: 01.03.2013
Сообщений: 4,558
Записей в блоге: 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
2583 / 1592 / 140
Регистрация: 01.03.2013
Сообщений: 4,558
Записей в блоге: 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
2583 / 1592 / 140
Регистрация: 01.03.2013
Сообщений: 4,558
Записей в блоге: 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
Еще ссылки по теме:

Возвести число в (7) семизначную степень C++
Возвести натуральное число в натуральную степень C++
C++ Написать программу возводящую число в целую степень
C++ Возвести число в степень(дробную)
Asm вставка в С++ возвести число в степень C++

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

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

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