Filintver
?>

Составить таблицу умножения на число n (1≤ n≤9), значения n задаётся в ячейке в2

Информатика

Ответы

natkoff5

98653 или 99665

Объяснение:

ответ зависит от того, могут ли цифры повторятся или нет.

98653 - если не могут;

99665 - если могут.

В случае, если числа не могут повторяться:

Есть XXXXX число, в котором:

по крайней мере 3 цифры меньше 7;по крайней мере 3 цифры нечётные.

То есть у нас в диапазоне 7-9 можно взять всего 2 числа, следуя из первого условия - берём 9 и 8, поскольку это два наибольших числа.

Чтобы удовлетворить второе условие надо будет взять ещё 2 нечётных числа меньше 7.

Естественно приоритет отдаётся по величине цифр, то есть 5, 3.

У нас уже есть 9853, но мы можем взять ещё одно число и оно должно быть меньше 7, то есть 6.

Мы получили набор наиболее больших чисел и теперь их надо скомбинировать так, чтоб получилось наибольшее число: 98653.

Проверяется довольно может ли число начинаться больше, чем с 98? Нет.

Может ли какое-то число в 653 заменено на большее? Только 3 заменить на 4, но тогда мы теряем количество нечётных чисел, в результате чего надо заменять 6 на 3, что делает число меньше нынешнего.

В случае, если числа могут повторяться:

Есть XXXXX число, в котором:

по крайней мере 3 цифры меньше 7;по крайней мере 3 цифры нечётные.

Теперь в диапазоне 7-9 мы берём дважды 9, поскольку это наибольшее число из возможных.

Мы уже имеем два нечётных числа, осталось взять всего одно нечётное ниже 7 - берём 5 как наивысший вариант, а остальные 2 числа должны удовлетворить первое условие, то есть 6 и 6, как наивысший вариант.

У нас есть набор чисел 99566, осталось поставить так, чтоб получилось наибольшее число: 99665.

Проверяется тоже всего 2 числа могут быть выше 7, поскольку 9 это наибольший вариант, то ни с чего другого как с 99 начинаться число не может.

Оставшиеся 3 числа меньше 7, то есть они могли бы быть как максимум 666, но поскольку одно должно быть нечётным, то это 665.

Надеюсь, логика понятна.

mnn99

uses crt;

type

massiv = array [1..100] of integer; // объявляем свой тип данных

var

mass : massiv ;

sum, proiz , i , n: integer;

begin

clrscr;

write('Введите длину массива : '); readln(n);

sum := 0 ;

proiz := 1 ; // единица потому что у нас умножение, если умножать на 0 будет 0 всегда!!

for i:=1 to n do

begin

write('Введите ', i , ' элемент : '); readln(mass[i]);

if (mass[i] mod 2 = 0) then sum := sum + mass[i]

else proiz := proiz * mass[i];

end;

writeln('Сумма четных равна ', sum);

writeln('Произведение нечетных равно ', proiz);

readln; // чтобы программа не закрывалась

end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Составить таблицу умножения на число n (1≤ n≤9), значения n задаётся в ячейке в2
Ваше имя (никнейм)*
Email*
Комментарий*