Дополнительное . к четырёхзначному натуральному числу, все цифры которого различны, применяется следующий алгоритм. 1) найти сумму трёх самых больших по значению цифр числа. 2) вычесть из полученной суммы наименьшую по значению цифру числа. пример работы алгоритма для числа 3148: 3 + 4 + 8 = 15, 15 - 1 = 14. укажите наименьшее четырёхзначное число, все цифры которого различны, такое что в результате применения к нему данного алгоритма получится число 16.
В примере ответы не соответствуют заданию: ищется самая большая цифра а не маленькая, а по условию должна искаться самая маленькая. Написал код, который соответствует именно заданию:
Объяснение:
var
n, k, min, colmin, i: integer;
begin
repeat
Write('Введите число: ');
Readln(n);
until (n>=10000) and (n<=99999);
k := n;
min := k mod 10;
k := k div 10;
for i := 1 to 4 do
begin
if (k mod 10 < min) then min := k mod 10;
k := k div 10;
end;
k := n;
for i := 1 to 5 do
begin
if (k mod 10 = min) then inc(colmin);
k := k div 10;
end;
WriteLn(min, ' ', colmin);
end.
унарный * - модификатор указателя, например, когда мы обявляем функцию void a(TypeName b); подоразумевается, что функция принимает переменную b типа данных TypeName, а если же напишем void a(TypeName* b); то подоразумеваем, что функция принимает указатель б типа данных TypeName
ответ: 4
П.с. задача не корректна, поскольку в вариантах ответа записаны не обьявления функции, а ее вызов. А если надо передать обыкновенную переменную по указателю, тогда используем модификатор ссылки &
void func(TypeName* a);
//...
TypeName a0 = 0;
TypeName* a1 = &a0;
func(&a0);
func(a1);