Найти сумму максимальных цифр, использующихся в записи двух данных натуральных чисел....

0 голосов
86 просмотров

Найти сумму максимальных цифр, использующихся в записи двух данных
натуральных чисел. Нахождение максимальной цифры числа оформить в виде
подпрограммы.


Информатика (30 баллов) | 86 просмотров
0

Pascal

Дано ответов: 2
0 голосов
Правильный ответ

// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
function MaxDigit(n:integer):integer;
begin
  Result:=0;
  while n>0 do begin
    var m:=n mod 10;
    if m>Result then result:=m;
    n:=n div 10
    end
end;

begin
  var n1,n2:integer;
  Write('Введите через пробел два натуральных числа: ');
  Read(n1,n2);
  Writeln('s=',MaxDigit(n1)+MaxDigit(n2))
end.

Тестовое решение
Введите через пробел два натуральных числа: 53252 4654083
s=13

(142k баллов)
0 голосов

function MaxDigit(n: integer): integer;
var max: integer;
begin
  max := 0;
  while n > 0 do
  begin
    if n mod 10 > max then max := n mod 10;
    n := n div 10;
  end;
  MaxDigit := max;
end;
var a, b: integer;
begin
  read(a, b);
  write(MaxDigit(a) + MaxDigit(b));
end.
(13.3k баллов)
0

Во избежание вопросов от автора я бы посоветовал указывать версию Паскаля, в которой дано решение. Ведь он может даже не подозревать о существовании PascalABC.NET, а в прочих конструкция "var a, b: integer;" внутри блока синтаксически недопустима.

0

Она находится вне блока

0

На сколько я знаю, можно описывать переменные, а потом подпрограмму и наоборот.

0

Да, точно)) Просто я между структурными единицами "на автомате" вставляю пустую строку. Еще, видимо, не проснулся до конца)))

0

Просто сайт до сих пор проглатывает мои переносы строк

0

Конечно. Расположение описаний влияет на область видимости описанного - и только.

0

Это не сайт проглатывает, а Г_угл Хром.

0

Если писать из FireFox - не глотает

0

Однако на других форумах ничего не проглатывает)

0

Да, я же и написал - так этот ресурс "понимает" переданное из упомянутых браузеров.