Сформулировать условие задачи, которую решает данная программа. Var n: integer; mi, ma:...

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

Сформулировать условие задачи, которую решает данная программа. Var n: integer; mi, ma: 0..9; Begin Write ('введите натуральное число: '); Readln (n); mi:=9; ma:=0; while n<>0 do begin if n mod 10 < mi then mi:= n mod 10; if n mod 10 > ma then ma:= n mod 10; n := n div 10 end; writeln('Среднее геометрическое: ', sqrt(ma*mi)); End.


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

Найти среднее геометрическое минимального и максимального суффикса числа n

0

За суффикс я здесь понимаю составляющую числа n. Т.е если n = 12345 то суффиксы будут такими 5; 4; 3; 2; 1; ну и среднее геометрическое будет равно sqrt(5 * 1).

0

при тестах, программа просто выводит среднее геометрическое числа

0

всмысле среднее геометрическое числа: при числе 2836 должно получится 4, само действие sqrt(ma*mi) говорит о том что среднее геометрическое ищется только между двух значений

0

два условия в цикле как раз отвечают за поиск мин и мак суффиксов

0

все я молчу( я не права

0

ой я наверно был немного груб извини!

0

да, нет, это я ничего не понимаю, а лезу куда-то)) все в порядке?

0

Нет, это правильно спорить и предлагать свой вариант ответа, чем чаще тем больше узнаешь, хоть и не очень приятно чувствовать себя неловко при неправильном ответе. Молодец.

0

Спасибо Вам большое за помощь, Вы на самом деле меня спасли)

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

Var
    n: integer;
    min, max: 0..9;

begin
    Write('введите натуральное число: ');
    Readln(n);
   
    {инициализация начальных значений минимума и максимума}
    min := 9;
    max := 0;
   
    {разбиение числа на отдельные цифры и поиск их минимума и максимума}
    while n <> 0 do
    begin
        if n mod 10 < min then min := n mod 10;
        if n mod 10 > max then max := n mod 10;
        n := n div 10
    end;
   
    {Вычисление и вывод среднего геометрического минимума и максимума}
    writeln('Среднее геометрическое: ', sqrt(max * min));
end.

Собственно сначала программа ищет минимальную и максимальную цифру в числе, а потом считает среднее геометрическое или среднее пропорциональное этих двух цифр.

(53.1k баллов)