
Алгоритм печатает сначала L, потом M. По программе понятно, что L Это количество раз, когда число не кратно 10 (каждый раз число делится на 10), а M - общее количество цифр. Понятно, что раз число должно быть наименьшее, а всего 8 цифр, значит может быть как минимум 4 нуля. Больше нулей быть не может, т.к. если в числе есть значимый ноль, то при делении он будет давать кратность десяти. 4 цифры уже есть, осталось подобрать 4 цифры, которые в числе при делении его на 10 не будут давать остаток 0. Это любые цифры от 1 до 9, но так как число минимальное, значит это цифры "1". Получается, 11110000. Переставляем цифры так, чтобы число было минимальное и получается 10000111.
ответ: 10000111
a = [float(input()) for i in range(20)]
pr = 0
ch = 0
srar = sum(a)/len(a)
for i in a:
if i >0: pr *=i
if i>srar: ch+=1
print(f"произведение положительных - {pr}, \nколичество элементов массива, значения которых меньше среднего арифметического данного массива - {ch}")
#include <iostream>
#include <vector>
int main(){
vector<double> a(20);
for (int i=0; i<20; i++) std::cin >> a[i];
double pr=0, srar=0, temp=0;
int ch=0;
for (int i=0; i<20; i++) temp+=a[i];
srar = temp/a.size();
for (int i=0; i<20; i++){
if (a[i] > 0) pr*=a[i];
if (a[i] > srar) ch++;
}
std::cout>> pr >> " " ch;
Не тестил, но должно работать (питон, c++)