Вариант 3 Контрольная работа 5 ГДЗ Самостоятельные и контрольные работы Босова 8 класс (Информатика)
- Составьте программу вычисления значения $$y=x^6$$ рациональным способом, т. е. за минимальное количество операций; $$x$$ — произвольное натуральное число, не превышающее 5.
- Составьте программу вычисления значения выражения $$\max(x+y, x\cdot y)+2$$.
- Составьте программу нахождения суммы всех натуральных чисел из диапазона от $$A$$ до $$B$$, включая $$A$$ и $$B$$, кратных 5 и 13 (значения $$A$$ и $$B$$ вводятся с клавиатуры).
1. Чтобы вычислить $$y=x^6$$ рационально, удобно сначала возвести число в квадрат, затем ещё раз в квадрат и умножить на $$x^2$$:
var
x, y: integer;
begin
write(‘x = ‘);
readln(x);
y := sqr(x);
y := sqr(y);
y := y * sqr(x);
writeln(‘y = ‘, y)
end.
Пример работы программы при $$x=3$$:
$$3^6 = 729$$
Python
x = int(input())
print(x, ‘в шестой степени =’, x ** 6)
2. Сначала находим большее из двух чисел $$x+y$$ и $$x \cdot y$$, затем прибавляем 2:
var
x, y, max: integer;
begin
write(‘x,y >> ‘);
readln(x, y);
if (x * y) > (x + y) then max := x * y
else max := x + y;
writeln(‘max + 2 = ‘, max + 2)
end.
Проверка:
при $$x=2$$, $$y=2$$ получаем $$\max(2+2, 2\cdot2)+2 = \max(4,4)+2 = 6$$;
при $$x=5$$, $$y=6$$ получаем $$\max(5+6, 5\cdot6)+2 = \max(11,30)+2 = 32$$.
Python
x, y = map(int, input().split())
if (x * y) > (x + y):
max = x * y
else:
max = x + y
print(‘max + 2 = ‘, max + 2)
3. Нужно просуммировать все числа на отрезке от $$A$$ до $$B$$, которые кратны и $$5$$, и $$13$$. Такие числа кратны $$65$$, поэтому можно проверять условие $$i \bmod 5 = 0$$ и $$i \bmod 13 = 0$$:
var
a, b, s, i: integer;
begin
write(‘a,b >> ‘);
readln(a, b);
s := 0;
for i := a to b do
if (i mod 5 = 0) and (i mod 13 = 0)
then s := s + i;
writeln(‘s = ‘, s)
end.
Для $$A=2$$ и $$B=100$$ подходят числа $$65$$, поэтому сумма равна $$65$$.
Python
a, b = map(int, input().split())
s = 0
for i in range(a, b + 1):
if i % 5 == 0 and i % 13 == 0:
s += i
print(‘s =’, s)



