Сделать эту задачу можно двумя способами. Первый - чисто арифметический. Второй - более хитрый, через операции над строками. Мы пойдем вторым путем, он короче и практичней, такой код будет требовать меньше ресурсов машины для реализации (что незаметно в таких маленьких задачках, но довольно критично в реальной жизни, поэтому учимся писать дальновидные коды).
<em>Var n:longint;</em>
<em>Function MinDigit(n:longint):integer;</em>
<em>var s,a:string; c,i:integer;</em>
<em>begin</em>
<em> str(n,s);</em>
<em> a:=s[1];</em>
<em> for i:=2 to length(s) do</em>
<em> if s[i]<a then a:=s[i];</em>
<em> val(a,n,c);
</em> MinDigit:=n;
<em>end;</em>
<em>Function MaxDigit(n:longint):integer;</em>
<em>var s,a:string; c,i:integer;</em>
<em>begin</em>
<em> str(n,s);</em>
<em> a:=s[1];</em>
<em> for i:=2 to length(s) do</em>
<em> if s[i]>a then a:=s[i];</em>
<em> val(a,n,c);
</em> MaxDigit:=n;
<em>end;</em>
<em>Begin</em>
<em> readln(n);</em>
<em> writeln(MinDigit(n),' ',MaxDigit(n));</em>
<em>End.
</em>По факту переменную <em>"c"</em> можно убрать из функций и использовать вместо нее уже не нужную в конце <em>"i"</em>, таким образом избавившись от одной переменной. Но это не принципиально на самом деле, к тому же так понятней, какая переменная за что отвечает.
88 бит одна буква один восемь бит
Var a:array[1..10] of integer;
x,y,i,p:integer;
begin
randomize;
p:=1;
for i:=1 to 10 do
begin
a[i]:=random(20);
x:=random(3);
if x:=2 then a[i]:=a[i]*(-1);
p:=p*a[i];
write(a[i],' ')
end;
writeln;
writeln(p);
end.
var
y: System.uint64; //Большая цЫфра же и положительная
x, i: byte; //Нет смысла большие числа брать слишком, переполнение будет
begin
readln(x); //Принимаем число...
y := 1;
i := 1;
repeat
y *= i; //...и умножаем такое-то количество раз
i += 1;
until (i > x);
if (y = 0) then //Выводим, предусмотрев переполнение
writeln('Слишком большая цЫферка')
else
writeln(y);
<span>end.
</span><span>==========================================
</span><span>Int64 - это то же самое, что LongInt, а Uint64 (unsign long int) - длинное число без знака, при правильном использовании позволяет записывать в переменную числа, в 2 раза превышающие максимум Int64</span>