Приведенная программа принимает целые числа и выводит два значения: a - количество цифр в числе и b - произведение цифр, составляющих число. При вводе нуля программа завершает работу. Ввод отрицательных чисел игнорируется. 1) При исполнении этой программы на экран было сначала выведено число 2, затем число 15. НАИМЕНЬШЕЕ значение переменной x, для которого это возможно, равно С) 35 Здесь количество цифр равно двум, а их произведение равно 15. Число 15 представимо в виде произведения двух однозначных чисел только в виде 3х5 или 5х3. Следовательно, наименьшим числом могло быть только 35. 2) При исполнении этой программы на экран было сначала выведено число 2, затем число 15. НАИБОЛЬШЕЕ значение переменной x, для которого это возможно, равно B) 53 Решение аналогично предыдущему, но выбирается наибольшее число, т.е. 53. 3) НАИМЕНЬШЕЕ значение переменной b, которое может быть выведено на экран этой программой, равно Е) 0 Минимальное значение произведения n однозначных чисел будет равно нулю, если среди этих чисел встретить хотя бы один ноль. 4) При исполнении этой программы на экран было сначала выведено число 2. НАИБОЛЬШЕЕ значение переменной b, которое может быть выведено на экран, равно А) 81 Максимальное произведение двух однозначных чисел равно 9х9=81. 5) НАИМЕНЬШЕЕ значение переменной a, которое может быть выведено на экран этой программой, равно D) 1 Понятно, что чисел с количеством знаков, меньшим единицы, быть не может.
polariskirov
12.01.2023
Function ds(ByVal n As Integer) As Integer 'Сумма цифр в числе n Dim s As Integer s = 0 Do While n <> 0 s = s + n Mod 10 n = Int(n / 10) Loop ds = s End Function
Function IsGood(n As Integer) As Boolean 'Сохраняется ли сумма цифр при умножении числа на 2,3,..9 ? Dim etalon As Integer, k As Integer etalon = ds(n) IsGood = True k = 2 Do While IsGood And k < 10 IsGood = (ds(n * k) = etalon) k = k + 1 Loop End Function
Sub aaa() Dim i As Integer, s As String s = "" For i = 10 To 99 If IsGood(i) Then s = s + Str(i) Next i MsgBox s End Sub
Тестовое решение: 18 45 90 99
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Паскаль, цикл while, запрашивать числа до тех пор пока их сумма не станет > =100, вывести количество чисел
var a,b,c:integer;
begin
b:=0;
while b<=100 do
begin
readln(a);
b+=a;
c+=1;
end;
write(c);
end.