Загрузка...

Ребята, я глупи

Тема в разделе C/C++ создана пользователем ЛысыйКотейка 16 июн 2023. 225 просмотров

  1. ЛысыйКотейка
    ЛысыйКотейка Автор темы 16 июн 2023 632 8 дек 2018
    Мне нужна помощь с решением задачи на плюсах.

    Условие: Пользователь вводит вещественное число E (больше 0). Выводится последовательность чисел A1, A2...An. Последовательность генерируется по правилу A1=1, A2=2, Ak=(Ak-2+2Ak-1)/3, где k=3, 4... .Найти первый k, при котором |Ak-Ak-1| < E

    Я пытался делать это с гпт, но в ответе всё время выходит статичное число(в плане оно не зависит, меняется ли вещественное число E(и вообще должно?))


    Пример кода с гпт:
    Код
    #include <iostream>
    #include <cmath>
    #include <locale>

    int main() {
    std::locale::global(std::locale(""));

    double E;
    std::wcout << L"Введите значение E: ";
    std::wcin >> E;

    double A1 = 1;
    double A2 = 2;
    double Ak = 0;
    int k = 3;

    while (true) {
    Ak = (A1 + 2 * A2) / 3;
    if (std::abs(Ak - A2) < E) {
    std::wcout << L"Первое значение k, при котором |Ak - Ak-1| < E, равно " << k - 1 << std::endl;
    break;
    }
    A1 = A2;
    A2 = Ak;
    k++;
    }

    return 0;
    }
     
    16 июн 2023 Изменено
  2. Daemon
    Daemon 16 июн 2023 1680 8 янв 2021
    Меняется же
    при E=1 k=2
    при E=0.05 k=4
    при E=0.03 k=5
     
    16 июн 2023 Изменено
    1. ЛысыйКотейка Автор темы
      Daemon, ёкарный бабай, Спасибо тебе огромное!
Загрузка...
Top