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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 219, средняя оценка - 4.60
Al21
0 / 0 / 0
Регистрация: 03.09.2010
Сообщений: 4
03.09.2010, 23:14     Как выразить в С корень n-степени. #1
Как выразить в С корень n-степени.
Подскажите.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
03.09.2010, 23:21     Как выразить в С корень n-степени. #2
Al21,
C
1
pow(f, 1/n);
Al21
0 / 0 / 0
Регистрация: 03.09.2010
Сообщений: 4
03.09.2010, 23:38  [ТС]     Как выразить в С корень n-степени. #3
А может так:
pow(sqrt(f),n) или pow(sqrt(f),1/n)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
03.09.2010, 23:40     Как выразить в С корень n-степени. #4
Al21, Степень от квадратного корня? Зачем? оО
Al21
0 / 0 / 0
Регистрация: 03.09.2010
Сообщений: 4
03.09.2010, 23:41  [ТС]     Как выразить в С корень n-степени. #5
Значит ты прав.........
Спасиб.......
bambino
 Аватар для bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
04.09.2010, 01:12     Как выразить в С корень n-степени. #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();    
}
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
04.09.2010, 02:14     Как выразить в С корень n-степени. #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();    
}
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.09.2010, 02:54     Как выразить в С корень n-степени. #8
1 / 2 = 0
1.0 / 2 = 0.5
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
04.09.2010, 07:04     Как выразить в С корень n-степени. #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;
}
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
04.09.2010, 07:37     Как выразить в С корень n-степени. #10
Kastaneda, потому, что у Вас оно возводит в n-ную степень, а у Lavroff'a считает корень n-ной степени
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
04.09.2010, 08:07     Как выразить в С корень n-степени. #11
Цитата Сообщение от Nameless One Посмотреть сообщение
Kastaneda, потому, что у Вас оно возводит в n-ную степень, а у Lavroff'a считает корень n-ной степени
А, точно) Просто я пост ТС прочитал и как-то в смысл не вникал, увидел что pow() юзается, ну и подумал, что как-то странно))
bambino
 Аватар для bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
04.09.2010, 13:28     Как выразить в С корень n-степени. #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
ти хочеш сказать что етот код которий ти написал работает ? О_о
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
04.09.2010, 13:48     Как выразить в С корень n-степени. #13
rik_nel, вот так - будет:
Как выразить в С корень n-степени.
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
04.09.2010, 14:34     Как выразить в С корень n-степени. #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;
}
bambino
 Аватар для bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
04.09.2010, 14:40     Как выразить в С корень n-степени. #15
C++
1
2
double x = atof(argv[1]);
double n = atof(argv[2]);
а что ети две строчки означяют ?

Nameless One
тестанул твой код студиа ругаетсо,Необработанное исключение в "0x77c0cf9f" в "Безымянный1.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000"
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
04.09.2010, 14:47     Как выразить в С корень n-степени. #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 - степень, в которую нужно возвести число
bambino
 Аватар для bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
04.09.2010, 15:04     Как выразить в С корень n-степени. #17
а можно пример кода чтоби запускть програму можно било и не из командной строки ?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
04.09.2010, 15:14     Как выразить в С корень n-степени. #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;
}
bambino
 Аватар для bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
04.09.2010, 15:39     Как выразить в С корень n-степени. #19
silent_1991
Непонимаю,я ввожу 2 в 2-ом степене а ресулт непонятен!
Input x: 2
Input n: 2
Result : 1.41412
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.09.2010, 15:41     Как выразить в С корень n-степени.
Еще ссылки по теме:

Как записать корень в степени C++
Корень n-й степени C++
C++ Взять корень из степени большого числа

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

Или воспользуйтесь поиском по форуму:
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
04.09.2010, 15:41     Как выразить в С корень n-степени. #20
rik_nel, все правильно. А что вы ожидаете?
Yandex
Объявления
04.09.2010, 15:41     Как выразить в С корень n-степени.
Ответ Создать тему
Опции темы

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