это В §9 описан алгоритм нахождения наибольшего общего делителя (алгоритм
Евклида), ориентированный на исполнителя-человека. Представьте его в
виде блок-схемы и на алгоритмическом языке для исполнителя-компьютера.
Выполните предыдущее задание, проведите трассировку алгоритма Евклида для нахождения НОД чисел 128 и 56
a,b,d,K,kp:integer;
P:boolean;
Begin
kp:=0;
ReadLn(a,b);
if (a = 1)or(a = 2) then
Begin
kp:=2;
Write(2,' ',3)
end
else if a = 3 then
Begin
kp:=1;
Write(3);
End;
if a < 5 then a:=5
else if a mod 2 = 0 then a:=a+1;
While a<=b do
Begin
K:=Trunc(Sqrt(A));
d:=3;
P:=true;
While d <= K do
Begin
if A mod d = 0 then P:=false;
d:=d+2
End;
if P then
Begin
kp:=kp+1;
Write(' ',a);
End;
a:=a+2
End;
if kp = 0 then Write(0)
End.
def check_simple(number:int):
assert number % number == 0 #check number is 'int' class
for i in range(2, number):
if number % i == 0:
return 0
return 1
def main():
a,b = input().split()
assert int(a) >= int(b) #Гарантировано, что a >= b
res = []
for i in range(int(a), int(b)):
if check_simple(i):
res.append(i)
if len(res) == 0:
print(0)
else:
print(' '.join(str(i) for i in res))
if __name__ == '__main__':
main()
Объяснение:
Скриншот приложен на случай, если сайт поломает табуляции в коде. Программа протестирована