Число - кол-во цифр, индекс у этого числа - цифра
186₄ / 4₄ = 46 × 2₇ + 2₄ = 92₇ + 2₄
92₇ / 3₇ + 2₄ = 30₄ + 2₇ + 2₄ = 32₄ + 2₇
32₄ / 4₄ + 2₇ = 8 ₓ 2₇ + 2₇ = 18₇
Делим до тех пор, пока не будет 4₄
777 777 777 777 777 777
4 4 4 4 777 777
77 777 777
777 777 77
4477
Мы ищем динамикой наибольшую подпоследовательность для отрезка [0; i] где гарантировано должен быть i-ый элемент. Потом выбираем из всех наибольшее число.
Var
a, b: integer;
begin
readln(a);
while (inttostr(a).Length > 1) do
begin
b := 0;
foreach c: char in inttostr(a) do
b += strtoint(c);
a := b;
end;
writeln(b);
<span>end.
=======================
var
a, b, e: integer;
d: string;
begin
readln(a);
d := inttostr(a);
while (length(d) > 1) do
begin
d := inttostr(a);
b := 0;
for e := 1 to length(d) do
b += strtoint(d[e]);
a := b;
end;
writeln(b);
<span>end.</span></span>
1445г. изобрел германский ювелир Иоганн Гутенберг.
Var a, b: integer;
begin
Writeln('Введите два числа');
Readln(a, b);
repeat
if a > b then a := a Mod b else
b := b Mod a;
until (a = 0) Or (b = 0);
writeln('НОД = ', a + b);
<span>end.</span>