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

0 голосов
20 просмотров

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


Информатика (26 баллов) | 20 просмотров
Дан 1 ответ
0 голосов

В худшем случае нам могут дать 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.

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

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

(3.7k баллов)