Проверено на Паскаль АВС
Program TheStorm23;
uses crt;
var
sum,n,i,r:integer;
begin
writeln('*** alphaues is thinking... ***');
writeln('*** OK ***');
sum:=0;
writeln('Введите количество чисел, не превышающее 100');
write('N = ');
readln(n);
if n>100 then
writeln('Это слишком много!')
else
begin
writeln('Вводите натуральные числа, не превышающие 300');
for i:=1 to n do
begin
write('Ввод: ');
readln (r);
if r >300 then
begin
writeln ('вы ввели слишком большое число');
writeln ('Это число не будет учтено');
end
else
if r mod 6 = 0 then
sum:=sum+r;
end;
writeln();
writeln('Сумма чисел, кратных 6, равна ',sum);
end;
end.
--- Python 3.8.3 ---
def ReadSeq(SeqLen: int, SeqType = int):
'''
Возвращает последовательность элементов в указанном типе, считанных с клавиатуры, заданной длины.
'''
try:
for _ in range(SeqLen):
yield SeqType(input())
except TypeError:
raise RuntimeError(f'Unsupported type: {CastType}')
def main():
n = int(input())
Numbers = ReadSeq(n)
print(sum(filter(lambda i: i % 6 == 0, Numbers)))
if __name__ == "__main__":
main()
Программа эффективна по памяти, т.к в любой момент её работы с памяти храниться только один элемент последовательности
Поделитесь своими знаниями, ответьте на вопрос:
Ниже на пяти языках программирования записан рекурсивный алгоритм f. бейсик: function f(n) if n > 2 then f = f(n - 1) + f(n-2) else f = n end if end function python: def f(n): if n > 2: return f(n-1)+ f(n-2) else: return n паскаль: function f(n: integer): integer; begin if n > 2 then f : = f(n - 1) + f(n - 2) else f : = n; end; алгоритмический язык: алг цел f(цел n) нач если n > 2 то знач : = f(n - 1)+f(n - 2) иначе знач : = n все кон c: int f(int n) { if (n > 2) return f(n-1) + f(n-2); else return n; } чему будет равно значение, вычисленное алгоритмом при выполнении вызова f(6)? с подробным описанием алгоритма решения .
Python:
def F(n):
if n > 2:
return F(n-1)+ F(n-2)
else:
return n
если n = 1 или n = 2, то F(n) = 1
F(1)=1
F(2)=1
F(3)=F(2)+F(1)=1+1=2
F(4)=F(3)+F(2)=2+1=3
F(5)=F(4)+F(3)=3+2=5
F(6)=F(5)+F(4)=5+3=8
ответ: F(6)=8