Решаем задачи Абрамян на Паскале. For36

For36. Даны целые положительные числа $$N$$ и $$K$$. Найти сумму $$1^K + 2^K + … + N^K$$. Чтобы избежать целочисленного переполнения, вычислять слагаемые этой суммы с помощью вещественной переменной и выводить результат как вещественное число.

Решение:

Другие задачи из раздела For можно посмотреть здесь.

Комментарии:

Комментарии 7

    • Да! … я думал над этим вариантом. Но решил раз уже использую циклы, пусть уж будет в рамках арифметики 🙂

      • Задача относится к группе вложенные циклы, поэтому исходное решение, вероятно, более правильное, хоть и несколько сложнее.

        • Да, по этому я и не стал добавлять решения Кирилла в шапку. Но решение у него всё равно красивое. 🙂

  • ___C++___
    /*
    For36◦. Даны целые положительные числа N и K. Найти сумму 1^K + 2^K + . . . + N^K. Чтобы избежать целочисленного переполнения,
    вычислять слагаемые этой суммы с помощью вещественной переменной и выводить результат как вещественное число.
    */

    void For_036()
    {
    while (true)
    {
    int N, K;
    double sum = 0.0;
    cout < 0 and K > 0 : N = «;
    cin >> N;
    cout <> K;
    for (int i = 1; i <= N; i++)
    {
    int sum1 = i;
    for (int j = 2; j <= K; j++)
    {
    sum1 = sum1 * i;
    }
    sum = sum + sum1;
    }
    cout << sum << endl;
    }
    }

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *