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

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

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

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

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

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

Как написать в коде корень четвертой степени
имеется корень корень четвертой степени в нем выражение.Как это написать в...

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

Корень n-й степени
Всем доброго времени суток. Как взять корень n-й степени? При использовании...

Определить корень третьей степени от Z
Помогите написать программу: Определить корень третьей степени от Z по...

36
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
03.09.2010, 23:21 #2
Al21,
C
1
pow(f, 1/n);
2
Al21
0 / 0 / 0
Регистрация: 03.09.2010
Сообщений: 4
03.09.2010, 23:38  [ТС] #3
А может так:
pow(sqrt(f),n) или pow(sqrt(f),1/n)
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
03.09.2010, 23:40 #4
Al21, Степень от квадратного корня? Зачем? оО
0
Al21
0 / 0 / 0
Регистрация: 03.09.2010
Сообщений: 4
03.09.2010, 23:41  [ТС] #5
Значит ты прав.........
Спасиб.......
0
bambino
194 / 20 / 5
Регистрация: 05.08.2010
Сообщений: 229
04.09.2010, 01:12 #6
Lavroff
а в C++ ?
а то я пишу вот такой код и без результатно
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <conio.h>
#include <cmath>
int main()
{
   int x;
   std::cin >> x ;
   pow(x, 1/2);
   std::cout << x << "\n";
   getch();    
}
0
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
04.09.2010, 02:14 #7
rik_nel,
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <conio.h>
#include <cmath>
int main()
{
   int x;
   std::cin >> x ;
   pow(x, 0.5); //либо pow(x, 1.0/2)
   std::cout << x << std::endl; // либо '\n'
   getch();    
}
0
accept
4833 / 3254 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
04.09.2010, 02:54 #8
1 / 2 = 0
1.0 / 2 = 0.5
2
Kastaneda
Jesus loves me
Эксперт С++
4760 / 2963 / 341
Регистрация: 12.12.2009
Сообщений: 7,524
Записей в блоге: 2
Завершенные тесты: 1
04.09.2010, 07:04 #9
Lavroff, а почему вы показатель степени переворачиваете? Вот пример с вражеского сайта:
C++
1
2
3
4
5
6
7
8
9
10
11
/* pow example */
#include <stdio.h>
#include <math.h>
 
int main ()
{
  printf ("7 ^ 3 = %lf\n", pow (7,3));
  printf ("4.73 ^ 12 = %lf\n", pow (4.73,12));
  printf ("32.01 ^ 1.54 = %lf\n", pow (32.01,1.54));
  return 0;
}
0
Nameless One
Эксперт С++
5785 / 3434 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
04.09.2010, 07:37 #10
Kastaneda, потому, что у Вас оно возводит в n-ную степень, а у Lavroff'a считает корень n-ной степени
0
Kastaneda
Jesus loves me
Эксперт С++
4760 / 2963 / 341
Регистрация: 12.12.2009
Сообщений: 7,524
Записей в блоге: 2
Завершенные тесты: 1
04.09.2010, 08:07 #11
Цитата Сообщение от Nameless One Посмотреть сообщение
Kastaneda, потому, что у Вас оно возводит в n-ную степень, а у Lavroff'a считает корень n-ной степени
А, точно) Просто я пост ТС прочитал и как-то в смысл не вникал, увидел что pow() юзается, ну и подумал, что как-то странно))
0
bambino
194 / 20 / 5
Регистрация: 05.08.2010
Сообщений: 229
04.09.2010, 13:28 #12
Цитата Сообщение от Maxwe11 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <conio.h>
#include <cmath>
int main()
{
 int x;
 std::cin >> x ;
 pow(x, 0.5); //либо pow(x, 1.0/2)
 std::cout << x << std::endl; // либо '\n'
 getch(); 
}
Maxwe11
ти хочеш сказать что етот код которий ти написал работает ? О_о
1
Nameless One
Эксперт С++
5785 / 3434 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
04.09.2010, 13:48 #13
rik_nel, вот так - будет:
Как выразить в С корень n-степени.
0
Nameless One
Эксперт С++
5785 / 3434 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
04.09.2010, 14:34 #14
Тут все дело в том, что результат функции pow все же нужно чему-нибудь присваивать, чтобы сохранить результат

Вот обобщение для корня n-ной степени:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cmath>
#include <cstdlib>
 
double root(double x, double n)
{   
    return pow(x, 1/n);
}
 
int main(int argc, char* argv[])
{
    double x = atof(argv[1]);
    double n = atof(argv[2]);
    x = root(x, n);
    std::cout << x << std::endl;
    return 0;
}
0
bambino
194 / 20 / 5
Регистрация: 05.08.2010
Сообщений: 229
04.09.2010, 14:40 #15
C++
1
2
double x = atof(argv[1]);
double n = atof(argv[2]);
а что ети две строчки означяют ?

Nameless One
тестанул твой код студиа ругаетсо,Необработанное исключение в "0x77c0cf9f" в "Безымянный1.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000"
0
CyBOSSeR
Эксперт С++
2309 / 1682 / 148
Регистрация: 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
194 / 20 / 5
Регистрация: 05.08.2010
Сообщений: 229
04.09.2010, 15:04 #17
а можно пример кода чтоби запускть програму можно било и не из командной строки ?
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 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
194 / 20 / 5
Регистрация: 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
1527 / 894 / 192
Регистрация: 26.03.2010
Сообщений: 3,074
04.09.2010, 15:41 #20
rik_nel, все правильно. А что вы ожидаете?
0
04.09.2010, 15:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.09.2010, 15:41
Привет! Вот еще темы с решениями:

Корень седьмой степени из числа?
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace...

Не получается извлечь корень n-го степени
Не работает часть кода с корнем, по непонятным мне причинам всегда выводит 1,...

Корень в n-ой степени. Никак не хочет считать
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;conio.h&quot; #include &quot;cmath&quot;...

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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