Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 2
1

Ошибка в коде Корень н-й степени Бинарным поиском

10.10.2020, 13:45. Показов 747. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано действительное число a и натуральное n. Вычислите корень n-й степени из числа
Для решения используйте метод деления отрезка пополам.

Входные данные
Число a – действительное, неотрицательное, не превосходит 1000, задано с точностью до 6 знаков после запятой. Число n – натуральное, не превосходящее 10.

Выходные данные
Программа должна вывести единственное число: ответ на задачу с точностью не менее 6 знаков после запятой.

Мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <bits/stdc++.h>
using namespace std;
 
double t(int a, int n) {
  double f, m, l, r;
  m = 0;
  if (a >= 0 and a <= 1) {
    l = a;
    r = 1;
  }
  else {
    l = 1;
    r = a;
  }
  while (r - l >= 1e-8) {
    m = (l + r) / 2;
    if (pow(m, n) > a) {
        r = m ;
    }
    else {
        l = m ;
    }
  }
  return m;
}
 
int main() {
  double a, f, m, l, r;
  int n;
  cin >> a;
  cin >> n;
  printf("%.8lf\n", t(a, n));
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.10.2020, 13:45
Ответы с готовыми решениями:

Найти корень числа бинарным поиском
Нужно написать код нахождения корня числа, используя бинарный поиск.

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

Нарезка колбасы бинарным поиском
Поварёнок Вася работает первый день. В его трудовые функции входит нарезка колбасы на кусочки...

Поиздеавться над бинарным поиском
Вот у меня задание, написать алгоритм бинарного поиска числа в отсортированном по возрастанию...

3
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
10.10.2020, 14:34 2
Алгоритмически ошибок нет.
Есть неточности в типах и краевых условиях
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <iomanip>
using namespace std;
 
double t(double a, unsigned int n) { // a имеет тип double, n>=1
    const double eps = 1e-8;
    if (a <= 0 || n==0)
        return 0;
    if (n == 1 || a==1.0)
        return a;
    double m, l, r;
//  m = 0;
    if (a > 0 and a <= 1) {
        l = a;
        r = 1;
    }else {
        l = 1;
        r = a;
    }
    while (r - l >= eps) {
        m = (l + r) / 2.0;
        if ( pow(m, n) - a > 0) {
            r = m;
        }
        else {
            l = m;
        }
    }
    return m;
}
 
int main() {
    double a;
    int n;
    cout << "a=";
    cin >> a;
    cout << "n=";
    cin >> n;
    cin.get();
    cout<<setprecision(6)<<t(a, n)<<endl;
    cin.get();
    return 0;
}
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 2
10.10.2020, 14:43  [ТС] 3
Результат остался такой же — проходит все тесты кроме одного.
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
10.10.2020, 15:24 4
Ну, тут надо быть экстрасенсом, чтобы понять какого.
Возможно, надо учесть, что в некоторых случаях можно извлекать корни из отрицательных чисел.
0
10.10.2020, 15:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.10.2020, 15:24
Помогаю со студенческими работами здесь

Решение уравнения окружности бинарным поиском
Здравствуйте. Как известно, уравнение окружности (X - Xc)^2 + (Y - Yc)^2 = R^2 Есть массив...

Как можно решить бинарным поиском
Как можно найти бинарным поиском такой X что функция sum( Pi * |Xi - X|) (функция сумм от этих...

Программа с бинарным поиском чутка исправленная
Доброй всем ночи. Во время написания программы столкнулся с некоторым непониманием. Программа...

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

Сортировка вставками с бинарным (двоичным) поиском
задачка из простых, но я все же где-то напортачил помогите, пожалуйста, исправить необходимо...

Бинарным поиском найти максимальное a такое, что a^2 +3*a+2
Задание-2 Дано целое положительное n от 1 до 10^9. Бинарным поиском найти максимальное a такое,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru