Ответ:
chislo1 = int(input("Введите число а "))
chislo2 = int(input("Введите число b "))
while chislo1 != 0 and chislo2 != 0:
if chislo1 > chislo2:
chislo1 = chislo1 % chislo2
else:
chislo2 = chislo2 % chislo1
print(chislo1 + chislo2)
Объяснение:
НОД числа:
берутся два числа. большее число = остаток от деления большего на меньшее. Затем опять большее число (может быть уже второе) = остаток от деления большего на меньшее, и так до тех пор, пока одно из них не станет равно 0. И выводится большее число. В случае если числа равны друг другу, находится остаток от деления второго числа на первое: 0, и выводится первое число. Т.е всё работает.
Просто подбираеш по логике числа например 2 4 6 8 или 4 8 12 16 20 или 22 44 66 88
// PascalABC.NET 3.0, сборка 1139 от 10.01.2016
begin
var f:=OpenWrite('phones.txt');
var n:=ReadLnInteger('Количество номеров: ');
Writeln('Вводите номера телефонов в формате 8(xxx)xxx-xx-xx;');
var s:string;
for var i:=1 to n do begin
s:=ReadLnString(IntToStr(i)+':');
Writeln(f,s)
end;
f.Close;
var s1:=ReadLines('phones.txt').ToArray;
Writeln('Содержимое файла');
s1.Println(NewLine);
f:=OpenWrite('phones.txt');
foreach var e in s1 do begin
s:=e.Where(x->x in ['0'..'9']).JoinIntoString('');
Writeln(f,s)
end;
f.Close;
Writeln('Новое содержимое файла');
ReadLines('phones.txt').PrintLn(NewLine);
end.
<u><em>Тестовое решение:</em></u>
Количество номеров: 3
Вводите номера телефонов в формате 8(xxx)xxx-xx-xx;
1: 8(999)111-22-33
2: 8(888)222-33-44
3: 8(777)333-44-55
Содержимое файла
8(999)111-22-33
8(888)222-33-44
8(777)333-44-55
Новое содержимое файла
89991112233
88882223344
87773334455
<em>// PascalABC.NET 3.2, сборка 1431 от 28.04.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(12,-50,50); a.Println;
Writeln('Сумма нечетных элементов: ',a.Where(k->k.IsOdd).Sum)
end.
<u>Пример</u>
22 -27 4 3 -30 -25 29 -27 -44 26 21 -28
Сумма нечетных элементов: -26
begin
var w:array[1..4] of string;
var s:string:='';
for var i:=1 to 4 do begin Readln(w[i]); s:=s+w[i] end;
for var i:=1 to 3 do Writeln(s+' '+i*'!')
end.
<u>Пример</u>
Первое
Второе
Третье
Четвертое
ПервоеВтороеТретьеЧетвертое !
ПервоеВтороеТретьеЧетвертое !!
ПервоеВтороеТретьеЧетвертое !!!