98653 или 99665
Объяснение:
ответ зависит от того, могут ли цифры повторятся или нет.
98653 - если не могут;
99665 - если могут.
В случае, если числа не могут повторяться:Есть число, в котором:
по крайней мере 3 цифры меньше 7;по крайней мере 3 цифры нечётные.То есть у нас в диапазоне 7-9 можно взять всего 2 числа, следуя из первого условия - берём 9 и 8, поскольку это два наибольших числа.
Чтобы удовлетворить второе условие надо будет взять ещё 2 нечётных числа меньше 7.
Естественно приоритет отдаётся по величине цифр, то есть 5, 3.
У нас уже есть 9853, но мы можем взять ещё одно число и оно должно быть меньше 7, то есть 6.
Мы получили набор наиболее больших чисел и теперь их надо просто скомбинировать так, чтоб получилось наибольшее число: 98653.
Проверяется довольно просто: может ли число начинаться больше, чем с 98? Нет.
Может ли какое-то число в 653 заменено на большее? Только 3 заменить на 4, но тогда мы теряем количество нечётных чисел, в результате чего надо заменять 6 на 3, что делает число меньше нынешнего.
В случае, если числа могут повторяться:Есть число, в котором:
по крайней мере 3 цифры меньше 7;по крайней мере 3 цифры нечётные.Теперь в диапазоне 7-9 мы берём дважды 9, поскольку это наибольшее число из возможных.
Мы уже имеем два нечётных числа, осталось взять всего одно нечётное ниже 7 - берём 5 как наивысший вариант, а остальные 2 числа должны удовлетворить первое условие, то есть 6 и 6, как наивысший вариант.
У нас есть набор чисел 99566, осталось поставить так, чтоб получилось наибольшее число: 99665.
Проверяется тоже просто: всего 2 числа могут быть выше 7, поскольку 9 это наибольший вариант, то ни с чего другого как с 99 начинаться число не может.
Оставшиеся 3 числа меньше 7, то есть они могли бы быть как максимум 666, но поскольку одно должно быть нечётным, то это 665.
Надеюсь, логика понятна.
var a,n,i,s:integer;
begin
write('Число элементов последовательности ');
readln(n);
for i:=1 to n do begin
write(i,' элемент последовательности = ');readln(a);
if (a mod 2 <>0) then s:=s+a;
end;
writeln('Сумма нечетных = ',s);
end.
Тестовое решение:
Число элементов последовательности 5
1 элемент последовательности = 3
2 элемент последовательности = 2
3 элемент последовательности = 4
4 элемент последовательности = 1
5 элемент последовательности = 5
Сумма нечетных = 9