Const n = 10; var matrix : array [1..n] of array [1..n] of integer; i, j, max : integer; begin {формирование матрицы} for j := 1 to n do begin if j <= Trunc(n / 2) then {находим последний индекс для вставки 1} max := j else max := n - j + 1; for i := 1 to max do {заполняем линию единицами} begin matrix[j][i] := 1; matrix[j][n - i + 1] := 1; end; end; {вывод матрицы (если не нужно, удалите код)} for j := 1 to n do begin for i := 1 to n do write(matrix[j][i], ' '); writeln; end; end.
Вообще то, это задача чисто математическая. Пусть есть трехзначное число abc. По условию:
abc + abc
bca Понятно, что максимальным число будет, если сложение в двух младших разрядах идет через перенос -> получим систему уравнений: 2c = a +16 2b +1 = c + 16 2a + 1 = b равносильная ей система 2с = a + 16 c = 2b - 15 b = 2a + 1 подставляем третье во второе, получаем первые два уравнения 2с = a + 16 c = 4a - 13 из этих двух уравнений -> 7a = 42 -> a = 6 -> из третьего уравнения b = 13 13 = D(16), из первого уравнения с = 22/2 = 11(10) = B(16) -> abc(16) = 6DB(16) = 1755(10), DB6(16) = 3510(10) -> 2abc = bca
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку