Срочно помощь нужна. Дано натуральное число N. 1.Вывести ** экран минимальную цифру числа...

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

Срочно помощь нужна.
Дано натуральное число N.

1.Вывести на экран минимальную цифру числа и разряд, в котором она находится;

2.Вывести на экран максимальную цифру числа и разряд, в котором она находится;

3.Вывести на экран сумму максимальной и минимальной цифры.

4.Выяснить, сколько раз в натуральном числе встречается его максимальная цифра.

5.Проверить на четность минимальную цифру числа N.

Пример

Введите натуральное число N: 388456

Минимальная цифра - 3, находится в разряде 5;

Максимальная цифра - 8, находится в разряде 4;

Сумма максимальной и минимальной цифры - 11;

Максимальная цифра встречается 2 раза;

Минимальная цифра - нечетная.


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

Минимальная цифра - 3, находится в разряде 5 или 6?

0

6. это опечатка

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

Var
  i,d,dmin,dmax,kmax,imin,imax:integer;
  n:longint;
begin
  Write('Введите натуральное число N: '); Read(n);
  dmin:=10; dmax:=-1; {больше большего и меньше меньшего}
  i:=0;
  repeat
    d:=n mod 10; n:=n div 10; Inc(i);
    if dmax    else if dmax=d then Inc(kmax);
    if dmin>d then begin dmin:=d; imin:=i end
  until n=0;
  Writeln('Минимальная цифра - ',dmin,' находится в разряде ',imin,';');
  Writeln('Максимальная цифра - ',dmax,' находится в разряде ',imax,';');
  Writeln('Сумма максимальной и минимальной цифры - ',dmin+dmax,';');
  Writeln('Максимальная цифра встречается ',kmax,' раз(а);');
  Write('Минимальная цифра - ');
  if (dmin mod 2)=0 then Writeln('четная.')
  else Writeln('нечетная.')
end.

Тестовое решение:
Введите натуральное число N: 388456
Минимальная цифра - 3 находится в разряде 6;
Максимальная цифра - 8 находится в разряде 4;
Сумма максимальной и минимальной цифры - 11;
Максимальная цифра встречается 2 раз(а);
Минимальная цифра - нечетная.

(142k баллов)
0

Задача простая, но Было интересно написать все в единственном цикле.

0 голосов

Program prog;
uses crt;

var n,k,min,max,x,i,s: integer;

begin
clrscr;

write('Введите натуральное число N: ');
readln(n);
x:=n;
s:=1;
writeln;
min:=9;
while x>0 do

begin
     if x mod 10 > max then
     begin
     max:=x mod 10;   k:=s;
     end;
     if x mod 10 < min then
     begin
     min:=x mod 10;  i:=s;
     end;
x:= x div 10;
s:=s+1
end;

writeln('Минимальная цифра - ',min,', находится в разряде ',i,';');
writeln('Максимальная цифра - ',max,', находится в разряде ',k,';');
k:=0;
writeln('Сумма максимальной и минимальной цифры - ',min+max,';');
while n>0 do
begin
     if n mod 10 = max then
     k:=k+1;
n:=n div 10;
end;
writeln('Максимальная цифра встречается ',k,' раз;');

if min mod 2 = 0 then  writeln('Минимальная цифра - четная.')
else  writeln('Минимальная цифра - нечетная.');

end. 
    

(9.6k баллов)
0

В большинстве реализаций Паскаля число, данное для примера, не поместится в переменную типа integer, надо longint брать.

0

Учту на будущее.