===== PascalABC.NET =====
function GCD(a, b: integer): integer;// НОД
begin
while b <> 0 do
begin
a := a mod b;
Swap(a, b)
end;
Result := a
end;
procedure RedFrac(var a, b: integer);// сокращение дроби
begin
var sgna := Sign(a); // мы должны учитывать знак!
var sgnb := Sign(b); // мы должны учитывать знак!
a := Abs(a);
b := Abs(b);
var d := GCD(a, b);
a := (a div d) * sgna;
b := (b div d) * sgnb
end;
begin
var (p1, q1) :=
ReadInteger2('Дробь 1. Введите числитель и знаменатель:');
var (p2, q2) :=
ReadInteger2('Дробь 2. Введите числитель и знаменатель:');
var p3 := p1 * q1 + p2 * q2;
var q3 := q1 * q2;
RedFrac(p3, q3);
Println(p3, '/', q3)
end.
5.
word = str(input())
x = len(word)
i = 0
if word == word[::-1]: #Право плохо понимаю, что' из себя представляет вот это "[::-1]", но в общем предполагаю, что это просто перевёрнутое "word"#
print('The number is palindrome!')
else:
print('The number is not palindrome!')
6.
#Число#
n = int(input())
suma = 0
while n > 0:
#digit — переменная, чьё значение является остаток отделения числа на 10, если мы например поделим 253 на 10, то остаток будет 3, а после совершения команды — переменная "n" потеряет свою последнюю цифру — 3, и теперь будет идти в качестве числа 25.#
digit = n % 10
suma = suma + digit
#Оставшийся число опять же делится на 10, так оно уменьшается до самого первого числа, а переменной "suma" присваивается сумма всех остатков от деления, то есть цифр, идущих от конца до начала.#
n = n // 10
print("Сумма:", suma)