<span>Во-первых, примем ограничение: число должно быть натуральным. т.е. целым и положительным без записи знака.
Во-вторых, возможны два принципиально разных алгоритма.
Первый
алгоритм предполагает, что число помещается оператором ввода в
целочисленную переменную и тогда мы получаем первую цифру, как
результат целочисленного деления на 10, третью - как остаток от целочисленного деления на 100, а вторую - как остаток от деления на 10 результата целочисленного деления на 10.
Второй алгоритм предполагает работу с символьным
изображением числа, т.е. после ввода получается символьная строка длиной
три. Первый (левый) символ будет первой цифрой числа и так далее.
Ниже приводятся тексты программ на языке Pascal, реализующие эти алгоритмы.</span>
<em>**********************************</em>
var
n:integer;
begin
Write('Введите целое трехзначное число без знака: '); Readln(n);
Writeln(n mod 10,(n div 10) mod 10,n div 100)
end.
<em><u>Тестовое решение:
</u></em>Введите целое трехзначное число без знака: 123
321
<em>**********************************</em>
var
n:string;
begin
Write('Введите целое трехзначное число без знака: '); Readln(n);
Writeln(n[3],n[2],n[1])
end.
<em><u>Тестовое решение:
</u></em>Введите целое трехзначное число без знака: 123
321
var
k, i, n: integer; //k - данное число, n - количество делителей числа k
s: real; //s - сумма делителей числа k
begin
n:= 0; //Обнуляем счетчики
s:= 0;
writeln('Введите целое число');
readln(k); //Вводим число k
for i:= 1 to k do {Проверяем какие числа от 1 до k являются делителями числа k}
if k mod i = 0 then {Если k делится без остатка на i, то прибавляем число i к сумме и прибавляем к счетчику 1}
begin
n:= n + 1;
s:= s + i;
end;
writeln('Среднее арифметическое делителей числа ', k, ' равно: ', s / n : 0 : 5); {Выводим среднее арифметическое делителей с округлением до 5 знаков после запятой}
end.