a, b = map(int, input().split())
answer = []
for i in range(a, b):
num = str(i)
length = len(num)
sum = 0
for y in num:
sum += int(y)**length
if sum == int(i):
answer.append(str(i))
if len(answer) == 0:
answer.append('-1')
print(' '.join(answer))
В неделе семь дней, поэтому решение выполняется на основе нахождения остатка целочисленного деления от номера дня на 7. Такой остаток находится в пределах от 0 до 6, а для нашей нумерации нужны значения от 1 до 7, поэтому полученный остаток будем увеличивать на единицу. Если 1 января вторник, то есть день недели с номером 2, то первым понедельником будет 7 января, вторым 14 января и т.д. 1 января (k=1) при делении на 7 даст в остатке 1 и при сдвиге остатка на 1 (см. выше), получим 2 (вторник). 7 января даст остаток 0 и после сдвига получим 1 (понедельник), что и требовалось.
<u>1. Современное короткое, эффективное, но требующее определенных знаний решение</u>
<u>PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var d:='Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье'.ToWords;
Writeln(d[ReadInteger('Введите номер дня') mod 7])
end.
<u>Примеры</u>
Введите номер дня 215
Суббота
Введите номер дня 14
Понедельник
<u>2. Более близкое к приведенному выше алгоритму решение</u>
begin
var n:=ReadInteger('Введите номер дня');
n:=n mod 7+1;
case n of
0:Writeln('Воскресенье');
1:Writeln('Понедельник');
2:Writeln('Вторник');
3:Writeln('Среда');
4:Writeln('Четверг');
5:Writeln('Пятница');
6:Writeln('Суббота')
end
end.
<u>3. Типовое школьное решение</u>
var
n:integer;
begin
Write('Введите номер дня');
Read(n);
n:=n mod 7+1;
case n of
0:Writeln('Воскресенье');
1:Writeln('Понедельник');
2:Writeln('Вторник');
3:Writeln('Среда');
4:Writeln('Четверг');
5:Writeln('Пятница');
6:Writeln('Суббота')
end
end.
Var N,S,a0, i: integer;
begin;
N:=0;
S:=0;
read(N);
read(S);
a0:= S div N - N + 1;
write(a0);
for i:=1 to N-1 do
begin
write(' ', a0 + 2*i);
end;
end.
Переводим все велечины в первоначальные единицы:
t = 10мин = 600сек
f = 11.025кГц = 11025Гц
b = 8бит = 8бит.
I = t * f * b
I = 600сек * 11025Гц * 8бит = 52920000бит = 6.3мб
Ответ: 6.3мб