Для начала посчитаем сколько символов в твоем предложении (пробелы, знаки препинания, буквы). Их там 28 [Терпение и труд все перетрут]. Как мы знаем, в кодировке Unicode - 1 символ занимает 16 бит памяти. Умножим 28 символов на 16 и получим 448 бит [28*16=448 бит]. Теперь, если это требуется, переведем биты в байты и килобайты. 1 байт памяти занимает 8 бит. Делим 448 бит на 8 получаем 56 [448/8=56 байт]. 1 кбайт памяти, в свою очередь, занимает 1024 байт памяти. Делим 56 байт на 1024 (советую использовать калькулятор) получаем 0,05 кбайт [56/1024=0,0546875]. В ответе пишем одно из получившихся значений, которое требуется написать [448 бит или 56 байт или 0,05 кбайт]
Объявляем функцию gcd, принимающую два целочисленных параметра и возвращающую их наибольший общий делитель. Здесь это вычисляется при алгоритма Евклида.
Затем для удобства определяем ещё одну функцию gcd3, которая принимает уже три аргумента и, используя указанную в условии формулу и описанную выше функцию gcd, вычисляет НОД от трёх чисел.
В основной части программы просто три числа считываются с клавиатуры и выводится ответ.
Код (PascalABC.NET v3.6.2316):
function gcd(a, b: integer): integer;
begin
while a * b <> 0 do
(a, b) := (b, a mod b);
Result := a + b
end;
function gcd3(a, b, c: integer) := gcd(gcd(a, b), c);
В ответе пишем одно из получившихся значений, которое требуется написать [448 бит или 56 байт или 0,05 кбайт]
Объявляем функцию gcd, принимающую два целочисленных параметра и возвращающую их наибольший общий делитель. Здесь это вычисляется при алгоритма Евклида.
Затем для удобства определяем ещё одну функцию gcd3, которая принимает уже три аргумента и, используя указанную в условии формулу и описанную выше функцию gcd, вычисляет НОД от трёх чисел.
В основной части программы просто три числа считываются с клавиатуры и выводится ответ.
Код (PascalABC.NET v3.6.2316):
function gcd(a, b: integer): integer;
begin
while a * b <> 0 do
(a, b) := (b, a mod b);
Result := a + b
end;
function gcd3(a, b, c: integer) := gcd(gcd(a, b), c);
begin
var (a, b, c) := ReadInteger3;
print(gcd3(a, b, c))
end.
Пример ввода:
10 40 20
Пример вывода:
10