• Дано три числа x, y и z. Необходимо посчитать сумму x5+y4+z8. Возведение числа в степень требуется реализовать с помощью процедуры.

    Формат входных данных
    С клавиатуры вводятся через пробел 3 целых числа x, y и z, по модулю не превосходящие 10.
    Формат выходных данных
    Необходимо вывести единственное число — искомую сумму.
    примеры 3 1 2 500

Ответы 1

  • В худшем случае нам могут дать x=10, y=±10, z=±10. При таких значениях мы получим сумму 10^5+10^4+10^8=100110000, что меньше 2^{31}, поэтому мы можем использовать тип integer для вычислений.

    Программа на PascalABC:

    var

     x, y, z, // Числа из ввода

     st, // Ответ процедуры возведения в степень

     ans // Ответ на задачу

     : integer;

    // Возведение числа A в степень B

    // После вызова процедуры ответ хранится в st

    procedure pow(A, B: integer);

    var i : integer;

    begin

     st:=1; // Изначальный ответ...

     for i:=1 to B do // ...который мы B раз...

       st:=st*A; // ...умножаем на A.

    end;

    begin

     read(x, y, z); // Ввод чисел

     pow(x, 5); // Возводим x в степень 5

     ans:=st; // Сохраняем результат возведения в ans

     pow(y, 4); // Возводим y в степень 4

     ans:=ans+st; // Прибавляем результат возведения к ans

     pow(z, 8); // Возводим z в степень 8

     ans:=ans+st; // Прибавляем результат возведения к ans

     writeln(ans); // Выводим ответ

    end.

    ----------------------------

    Файл программы прикреплён ниже.

    answer img
    • Автор:

      elvis4
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years