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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 219, средняя оценка - 4.60
Al21
0 / 0 / 0
Регистрация: 03.09.2010
Сообщений: 4
#1

Как выразить в С корень n-степени. - C++

03.09.2010, 23:14. Просмотров 32216. Ответов 36
Метки нет (Все метки)

Как выразить в С корень n-степени.
Подскажите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.09.2010, 23:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как выразить в С корень n-степени. (C++):

Как записать корень в степени - C++
ссылка вырезана]

Как описать корень пятой степени? - C++
Как описать в С++ корень пятой степени з выражения?

Как написать в коде корень четвертой степени - C++
имеется корень корень четвертой степени в нем выражение.Как это написать в коде?Под корнем минус

Как возвести число в целочисленную степень и взять корень N-ной степени? - C++
извиняюсь, за ламерский вопрос, но как в C++ возвести число в целочисленную степень и взять корень N-ной степени??? Заранее благодарен!

Корень n-й степени - C++
Всем доброго времени суток. Как взять корень n-й степени? При использовании данного варианта: pow(x, (1/n)) в ответ всегда идет 1. ...

Корень седьмой степени из числа? - C++
#include <iostream> #include <math.h> #include <conio.h> using namespace std; void main ( ) { float a,b,y; ...

36
CyBOSSeR
Эксперт С++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
04.09.2010, 14:47 #16
Цитата Сообщение от rik_nel Посмотреть сообщение
C++
1
2
double x = atof(argv[1]);
double n = atof(argv[2]);
argv - это массив строк, содержащий параметры указанные при запуске приложения из командной строки.
atof - функция преобразования строки, содержащей вещественное число в собственно число. Подробнее здесь.
В итоге получаем следующее:
C++
1
2
double x = atof(argv[1]);  // Взять первый параметр командной строки, преобразовать в число и записать в x
double n = atof(argv[2]);  // Взять второй параметр командной строки, преобразовать в число и записать в n
Для правильной работы примера запускайте приложение из командной строки, пример:

app_name.exe 30.4 5

, где
app_name.exe - имя приложения
30.4 - число, которое нужно возвести в степень
5 - степень, в которую нужно возвести число
0
bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
04.09.2010, 15:04 #17
а можно пример кода чтоби запускть програму можно било и не из командной строки ?
0
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
04.09.2010, 15:14 #18
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cmath>
#include <cstdlib>
 
using namespace std;
 
int main()
{
    double x, n;
 
    cout << "Input x: ";
    cin >> x;
    cout << "Input n: ";
    cin >> n;
 
    x = pow(x, 1.0 / n);
 
    cout << "Result: " << x << endl;
    system("pause");
 
    return 0;
}
0
bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
04.09.2010, 15:39 #19
silent_1991
Непонимаю,я ввожу 2 в 2-ом степене а ресулт непонятен!
Input x: 2
Input n: 2
Result : 1.41412
0
neske
1501 / 868 / 84
Регистрация: 26.03.2010
Сообщений: 2,973
04.09.2010, 15:41 #20
rik_nel, все правильно. А что вы ожидаете?
0
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
04.09.2010, 15:47 #21
rik_nel, первое число - это число, корень которого мы хотим посчитать, второе - степень корня: http://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt[n]{x}. В данном случае - квадратный корень из двух. Так что все правильно
0
bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
04.09.2010, 15:52 #22
Значит pow() ето аналог sqrt() ?
0
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
04.09.2010, 15:58 #23
Цитата Сообщение от rik_nel Посмотреть сообщение
Значит pow() ето аналог sqrt() ?
pow - это числа возведение в произвольную степень. sqrt - это подсчет квадратного корня. Так что твое предположение неверно.
Если тебе не понятно, как из возведения в степень мы получили корень n-ной степени, напомню тебе такое математическое тождество:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt[n]{x} \equiv {x}^{\frac{1}{n}},
т.е. корень n-ной степени из x эквивалентен x в степени http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{1}{n}. pow(x, n) возводить x в степень n, pow(x, 1/n) возводит x в степень http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{1}{n}, т.е. считает корень n-ной степени от x.
1
bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
04.09.2010, 16:18 #24
Nameless One
Спасибо,доступно обяснил!
P.S. Я не зразу поня,потомучто ми еще в школи не учили такое тождество.
0
Antikuba
0 / 0 / 0
Регистрация: 25.08.2013
Сообщений: 9
01.05.2014, 20:28 #25
Подниму старую тему. Не могу вычислить кубический корень из логарифма. Код как в 14м посте темы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cmath>
#include <cstdlib>
 
using namespace std;
 
int main()
{
    double x,n;
 
    cout << "Input x: ";
    cin >> x;
    cout << "Input n: ";
    cin >> n;
    x=log10(x);
    x = pow(x, 1.0 / n);
 
    cout << "Result: " << x << endl;
    system("pause");
 
    return 0;
}
Выдает значение nan. Хотел бы понять причину.
0
IrineK
Заблокирован
01.05.2014, 20:34 #26
Цитата Сообщение от Antikuba Посмотреть сообщение
Хотел бы понять причину.
Что вводите в качестве х?
0
Antikuba
0 / 0 / 0
Регистрация: 25.08.2013
Сообщений: 9
01.05.2014, 20:41 #27
Дробное число меньше единицы. В частности 0.95.
Судя по всему ошибка не из-за степени возникает,а в функции логарифма.
0
IrineK
Заблокирован
01.05.2014, 20:46 #28
Читаем pow

If the base is finite negative and the exponent is finite but not an integer value, it causes a domain error.
Добавлено через 1 минуту
Вам нужен кубический корень именно из отрицательного числа?
0
Antikuba
0 / 0 / 0
Регистрация: 25.08.2013
Сообщений: 9
01.05.2014, 20:50 #29
Ну то что ошибка в функции возникает я понял. А как быть то?
После матлаба все так странно...
0
IrineK
Заблокирован
01.05.2014, 20:55 #30
Повторяю:
Цитата Сообщение от IrineK Посмотреть сообщение
Вам нужен кубический корень именно из отрицательного числа?
Какие еще корни из отрицательных чисел вы собираетесь извлекать?
Четный корень из отрицательного числа - это комплексное число, не действительное.
Действительный нечетный корень - возможен.

Цитата Сообщение от Antikuba Посмотреть сообщение
После матлаба
ОДЗ для извлечения корней везде одинаковое: положительная база.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2014, 20:55
Привет! Вот еще темы с ответами:

Определить корень третьей степени от Z - C++
Помогите написать программу: Определить корень третьей степени от Z по итерационной формуле, пока |Wn+1 - Wn| &lt; e Wn+1 = Wn +(1/3)(Z/...

Корень в n-ой степени. Никак не хочет считать - C++
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;conio.h&quot; #include &quot;cmath&quot; using namespace std; int _tmain(int argc, _TCHAR*...

Взять корень из степени большого числа - C++
Всем привет задачакая с помощью библиотеки math.h и функции pow() нужно взять корень степени числа. код написанн но проблема в том что...

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


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

Или воспользуйтесь поиском по форуму:
30
Yandex
Объявления
01.05.2014, 20:55
Ответ Создать тему
Опции темы

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