Дано натуральное число n. требуется написать программу, которая находит такое минимальное число m, произведение цифр которого равно n.
входные данные
вводится целое число n (1 ≤ n ≤ 2·10^6) .
выходные данные
выведите на экран одно число m ≥ 10 или фразу «no solution». число m должно начинаться со значащей цифры (не с нуля).
примеры тестов:
1) входные данные
20
выходные данные
45
2) входные данные
1
выходные данные
11
Задание2.
const
m = 20;{максимальное количество элементов}
var
a: array[1..m] of real;
i, n: integer;
begin
Write('Введите количество элементов (от 1 до 20): ');
Readln(n);
Writeln('Вводите через пробел элементы массива');
for i := 1 to n do
begin
Read(a[i]);
a[i] := sqr(a[i])
end;
Writeln('Результирующий массив:');
for i := 1 to n do Write(a[i]:0:4, ' ');
Writeln
end.
Тестовое решение:
Введите количество элементов (от 1 до 20): 5
Вводите через пробел элементы массива
1.3 2.7 -4 4.23 0
Результирующий массив:
1.6900 7.2900 16.0000 17.8929 0.0000
s = 2500; {пробег для обкатки}
n1 = 12;{число дней, потраченное первым подростком}
var
s0, s2: real;
n2: integer;
begin
s0 := 150;
n2 := 1;
s2 := s0;
while s2 < s do
begin
s0 := s0 + 20; {ежедневный пробег}
s2 := s2 + s0;
n2 := n2 + 1
end;
if n2 > n1 then Writeln('2-й подросток завершил обкатку позже на ', n2 - n1, ' дн.')
else if n2 = n1 then Writeln('Оба подростка завершили обкатку одновременно')
else Writeln('2-й подросток завершил обкатку раньше на ', n1 - n2, ' дн.')
end.
Решение:
2-й подросток завершил обкатку раньше на 1 дн.