Задать вопрос
@asd1237asd

Как решить, программа выдает ответ не в правильном формате?

#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;

int main() {
    double a;
    int n;
    cin >> a;
    cin >> n;
    const double eps = 1e-13;
    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;
        }
    }

    cout << setprecision(12) << m;

    return 0;
}


Программа должна вывести единственное число — ответ на задачу с точностью не менее 4 знаков после точки.

Примеры
Ввод
2
2
Вывод
1.41421356237

Программа выводит ответ в неверном формате. В чем траблы?
  • Вопрос задан
  • 639 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Яндекс Практикум
    Мидл разработчик С++
    4 месяца
    Далее
  • Яндекс Практикум
    Разработчик C++ расширенный
    12 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
В некоторых случаях программа не выводит ничего. Вряд ли это ожидаемое поведение.

Или проверяющая программа ждет перевод строки (добавьте "\n" после вывода m).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы