Задается натуральное число n на языке Python. Напишите функцию int mindigit (int n) на языке C/C++ и function mindigit

  • 26
Задается натуральное число n на языке Python. Напишите функцию int mindigit (int n) на языке C/C++ и function mindigit (n: longint): integer на языке Pascal, а также функцию int maxdigit (int n) на языке C/C++ и function maxdigit (n: longint): integer на языке Pascal, которые будут определять наименьшую и наибольшую цифры данного числа. Входные данные - одно заданное число n. Выходные данные - необходимо вывести наименьшую и наибольшую цифры данного числа, разделенные пробелом.
Морской_Пляж
24
Для решения данной задачи на языке C/C++ мы можем использовать следующий код:

c
#include

int mindigit(int n) {
int min_digit = 9; // Инициализируем наименьшую цифру переменной значением 9

while (n > 0) {
int digit = n % 10; // Получаем последнюю цифру числа

if (digit < min_digit) {
min_digit = digit; // Если текущая цифра меньше наименьшей, обновляем значение наименьшей цифры
}

n /= 10; // Удаляем последнюю цифру числа
}

return min_digit; // Возвращаем наименьшую цифру
}

int maxdigit(int n) {
int max_digit = 0; // Инициализируем наибольшую цифру переменной значением 0

while (n > 0) {
int digit = n % 10; // Получаем последнюю цифру числа

if (digit > max_digit) {
max_digit = digit; // Если текущая цифра больше наибольшей, обновляем значение наибольшей цифры
}

n /= 10; // Удаляем последнюю цифру числа
}

return max_digit; // Возвращаем наибольшую цифру
}

int main() {
int n;
std::cout << "Введите число n: ";
std::cin >> n;

int min_digit_value = mindigit(n);
int max_digit_value = maxdigit(n);

std::cout << "Наименьшая цифра: " << min_digit_value << std::endl;
std::cout << "Наибольшая цифра: " << max_digit_value << std::endl;

return 0;
}


Теперь рассмотрим решение данной задачи на языке Pascal:

pascal
function mindigit(n: longint): integer;
var
min_digit: integer;
digit: integer;
begin
min_digit := 9; // Инициализируем наименьшую цифру значением 9

while n > 0 do begin
digit := n mod 10; // Получаем последнюю цифру числа

if digit < min_digit then begin
min_digit := digit; // Если текущая цифра меньше наименьшей, обновляем значение наименьшей цифры
end;

n := n div 10; // Удаляем последнюю цифру числа
end;

mindigit := min_digit; // Возвращаем наименьшую цифру
end;

function maxdigit(n: longint): integer;
var
max_digit: integer;
digit: integer;
begin
max_digit := 0; // Инициализируем наибольшую цифру значением 0

while n > 0 do begin
digit := n mod 10; // Получаем последнюю цифру числа

if digit > max_digit then begin
max_digit := digit; // Если текущая цифра больше наибольшей, обновляем значение наибольшей цифры
end;

n := n div 10; // Удаляем последнюю цифру числа
end;

maxdigit := max_digit; // Возвращаем наибольшую цифру
end;

var
n: longint;
min_digit_value: integer;
max_digit_value: integer;
begin
write("Введите число n: ");
readln(n);

min_digit_value := mindigit(n);
max_digit_value := maxdigit(n);

writeln("Наименьшая цифра: ", min_digit_value);
writeln("Наибольшая цифра: ", max_digit_value);
end.


Обе функции `mindigit` и `maxdigit` получают на вход заданное число `n` и выполняют итерацию по его цифрам, обновляя значения наименьшей и наибольшей цифр соответственно. Результаты выводятся на экран.