59

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

22 августа 2022

Задача на языке ПаскаляДано натуральное число N. Напишите функцию int MinDigit (int n) (C/C+) , function MinDigit (n: longint): integer (Pascal) и int MaxDigit (int n) (C/C+) ,function MaxDigit (n: longint): integer (Pascal), определяющую наименьшую и наибольшую цифры данного числа. Формат входных данныхЗадано единственное числоФормат выходных данныхНеобходимо вывести наименьшую и наибольшую цифры данного числа через пробел.

категория: информатика



95

Сделать эту задачу можно двумя способами. Первый — чисто арифметический. Второй — более хитрый, через операции над строками. Мы пойдем вторым путем, он короче и практичней, такой код будет требовать меньше ресурсов машины для реализации (что незаметно в таких маленьких задачках, но довольно критично в реальной жизни, поэтому учимся писать дальновидные коды).Var n: longint; Function MinDigit (n: longint): integer; var s,a: string; c,i: integer; begin str (n,s); a: =s[1]; for i: =2 to length (s) do if s[i]a then a: =s[i]; val (a,n,c); MaxDigit: =n; end; Begin readln (n); writeln (MinDigit (n) ,',MaxDigit (n); End. По факту переменную "c" можно убрать из функций и использовать вместо нее уже не нужную в конце "i", таким образом избавившись от одной переменной. Но это не принципиально на самом деле, к тому же так понятней, какая переменная за что отвечает.

Знаете ответ?


Есть интересный вопрос? Задайте его нашему сообществу, у нас наверняка найдется ответ!
Делитесь опытом и знаниями, зарабатывайте награды и репутацию, заводите новых интересных друзей!
Задавайте интересные вопросы, давайте качественные ответы и зарабатывайте деньги. Подробнее...