var
i, p, n, q, sum: integer;
a : array[1..1000000] of byte;
begin
Write('Введите число N: ');
ReadLn(n);
Write('Введите основание системы счисления q: ');
ReadLn(q);
p := n;
while p > 0 do
begin
i := i + 1;
a[i] := p mod q;
sum := sum + a[i];
p := p div q;
end;
Write(n,'(10) = ');
for p := i downto 1 do
Write(a[p]);
WriteLn('(', q, ')');
WriteLn('Сумма цифр полученного числа равна ', sum);
WriteLn('Количество цифр полученного числа равна ', i);
end.
Объяснение:
в числе меньше восьми цифр "И"
[число кратно 3 "ИЛИ"
(число содержит 2 "И" число кратно 5)]
2. Условие "в числе меньше восьми цифр" связано с остальной частью выражения по "И", следовательно, оно обязательное и все, что ему не удовлетворяет, должно быть отброшено вместе с этим условием.
Варианты 4) и 6) содержат 8 цифр и отбрасываются.
3. число кратно 3
"ИЛИ"
число содержит 2
"И"
число кратно 5
Если варианты "число кратно 3" есть, мы их выбираем, а это условие отбрасываем.
Кратны трем числа 1) 69 2) 12 и 7) 15.
4. Остались числа 3) 25, 5) 22 и 8) 55.
Проверяем их на условие
число содержит 2
"И"
число кратно 5
Содержат двойку 3) 25 и 5) 22, но лишь 25 кратно 5 - его и оставляем.
ответ: 1) 2) 3) 7)